pax_global_header00006660000000000000000000000064150733554250014523gustar00rootroot0000000000000052 comment=f65d65d46bae3fe94f150d4eaa12519b0dc18dbd danfruehauf-NetworkManager-ssh-f65d65d/000077500000000000000000000000001507335542500201555ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/.gitignore000066400000000000000000000011351507335542500221450ustar00rootroot00000000000000# Object files *.o *.lo # Libraries *.lib *.a *.la # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app autom4te.cache/ gtk4/ Makefile Makefile.in aclocal.m4 po/NetworkManager-ssh.pot compile config.* configure depcomp install-sh libtool network-manager-ssh.metainfo.xml ltmain.sh missing nm-ssh-service.name stamp-h1 properties/resources.c .dirstamp auth-dialog/nm-ssh-auth-dialog nm-ssh-service NetworkManager-ssh-*.tar* debian/autoreconf.before debian/autoreconf.after debian/debhelper-build-stamp debian/.debhelper debian/tmp debian/network-manager-ssh danfruehauf-NetworkManager-ssh-f65d65d/AUTHORS000066400000000000000000000000431507335542500212220ustar00rootroot00000000000000Dan Fruehauf danfruehauf-NetworkManager-ssh-f65d65d/COPYING000066400000000000000000000435051507335542500212170ustar00rootroot00000000000000This 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. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. danfruehauf-NetworkManager-ssh-f65d65d/ChangeLog000066400000000000000000000000001507335542500217150ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/Makefile.am000066400000000000000000000217011507335542500222120ustar00rootroot00000000000000AUTOMAKE_OPTIONS = foreign subdir-objects SUBDIRS = . po CLEANFILES = DISTCHECK_CONFIGURE_FLAGS = --with-tests=yes dbusservicedir = $(sysconfdir)/dbus-1/system.d dbusservice_DATA = nm-ssh-service.conf nmvpnservicedir = $(NM_VPN_SERVICE_DIR) nmvpnservice_DATA = nm-ssh-service.name plugindir = $(libdir)/NetworkManager libexec_PROGRAMS = if WITH_LIBNM_GLIB # Install a file with full path to plugins for an old gnome-shell # https://bugzilla.gnome.org/show_bug.cgi?id=693590 install-data-hook: mkdir -p $(DESTDIR)$(sysconfdir)/NetworkManager/VPN sed -e "1s|^|# This file is obsoleted by a file in $(NM_VPN_SERVICE_DIR)\n\n|" \ -e 's|[@]LIBEXECDIR[@]|$(libexecdir)|g' \ -e 's|[@]PLUGINDIR[@]|$(libdir)/NetworkManager|g' \ <$(srcdir)/nm-ssh-service.name.in \ >$(DESTDIR)$(sysconfdir)/NetworkManager/VPN/nm-ssh-service.name uninstall-hook: rm -f $(DESTDIR)$(sysconfdir)/NetworkManager/VPN/nm-ssh-service.name endif desktopfile = nm-ssh.desktop.in iconfile = gnome-mime-application-x-ssh-settings.png if WITH_GNOME # FIXME: uncomment when nmce gets --import support #desktopdir = $(datadir)/applications #desktop_in_files = $(desktopfile) #desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) #@INTLTOOL_DESKTOP_RULE@ #icondir = $(datadir)/icons/hicolor/48x48/apps #icon_DATA = $(iconfile) endif appdatadir = $(datadir)/metainfo appdata_DATA = $(appdata_in_files:.xml.in=.xml) appdata_in_files = metainfo/network-manager-ssh.metainfo.xml.in @INTLTOOL_XML_RULE@ nm-ssh-service.name: $(srcdir)/nm-ssh-service.name.in sed -e 's|[@]LIBEXECDIR[@]|$(libexecdir)|g' \ -e 's|[@]PLUGINDIR[@]/|@NM_PLUGIN_DIR@|g' \ $< >$@ EXTRA_DIST = nm-ssh-service.name.in \ $(dbusservice_DATA) \ $(desktopfile) \ $(iconfile) \ $(appdata_in_files) \ $(appdata_DATA) \ properties/nm-ssh-dialog.ui \ properties/gresource.xml \ intltool-extract.in \ intltool-merge.in \ intltool-update.in \ \ shared/README \ shared/nm-service-defines.h \ shared/nm-default.h \ shared/nm-utils/nm-test-utils.h \ shared/nm-utils/nm-vpn-plugin-utils.c \ shared/nm-utils/gsystem-local-alloc.h \ shared/nm-utils/nm-shared-utils.h \ shared/nm-utils/nm-glib.h \ shared/nm-utils/nm-vpn-plugin-utils.h \ shared/nm-utils/nm-macros-internal.h \ shared/nm-utils/nm-vpn-plugin-macros.h \ shared/nm-utils/nm-shared-utils.c CLEANFILES += $(nmvpnservice_DATA) \ $(desktop_DATA) \ $(appdata_DATA) DISTCLEANFILES = intltool-extract intltool-merge intltool-update ACLOCAL_AMFLAGS = -I m4 RPM_SOURCE_DIR = $(shell rpm --eval '%{_sourcedir}') RPM_SPEC_DIR = $(shell rpm --eval '%{_specdir}') PREPARE_SPEC = \ set -e; \ spec_file=`echo $(1)`; \ commit=`echo $(2)`; \ shortcommit=`echo $(3)`; \ checkout=`date --utc "+%Y%m%d"git`; \ changelog_date=`date --utc "+%a %b %d %Y"`; \ sed -i \ -e "s/___version___/$(VERSION)/g" \ -e "s/___commit___/$$commit/g" \ -e "s/___shortcommit___/$$shortcommit/g" \ -e "s/___checkout___/$$checkout/g" \ -e "s/___changelog_date___/$$changelog_date/g" \ $$spec_file RPMBUILD_AND_VERIFY = \ set -e; \ spec_file=`echo $(1)`; \ tmp_build_log=`mktemp`; \ rpmbuild -ba $(RPM_SPEC_DIR)/$(PACKAGE).spec | tee $$tmp_build_log; \ rpms_to_verify=`grep '^Wrote:' $$tmp_build_log | cut -d: -f2 | xargs`; \ rm -f $$tmp_build_log; \ rpmlint -iv $$rpms_to_verify changelog: git log --format="* %cd %aN%n- (%h) %s%d%n" --date=local | sed -r 's/[0-9]+:[0-9]+:[0-9]+ //' > ChangeLog rpm: changelog dist-gzip @set -e; \ commit=`git log -n1 --format="%H"`; \ shortcommit=`git log -n1 --format="%h"`; \ mv $(distdir).tar.gz $(RPM_SOURCE_DIR)/$(PACKAGE)-$(VERSION)-$$shortcommit.tar.gz; \ cp $(PACKAGE).spec $(RPM_SPEC_DIR)/$(PACKAGE).spec; \ sed -i -e "s/%setup -q -n %{name}-%{commit}/%setup -q -n %{name}-%{version}/g" $(RPM_SPEC_DIR)/$(PACKAGE).spec; \ $(call PREPARE_SPEC, "$(RPM_SPEC_DIR)/$(PACKAGE).spec", $$commit, $$shortcommit); \ rpmbuild -ba $(RPM_SPEC_DIR)/$(PACKAGE).spec git-rpm: changelog @set -e; \ commit=`git log -n1 --format="%H"`; \ shortcommit=`git log -n1 --format="%h"`; \ wget -P $(RPM_SOURCE_DIR) \ -c https://github.com/danfruehauf/NetworkManager-ssh/archive/$$commit/NetworkManager-ssh-$(VERSION)-$$shortcommit.tar.gz; \ wget -P $(RPM_SPEC_DIR) \ -c https://raw.github.com/danfruehauf/NetworkManager-ssh/$$commit/NetworkManager-ssh.spec; \ $(call PREPARE_SPEC, "$(RPM_SPEC_DIR)/$(PACKAGE).spec", $$commit, $$shortcommit); \ $(call RPMBUILD_AND_VERIFY, "$(RPM_SPEC_DIR)/$(PACKAGE).spec") deb: changelog dist-xz @set -e; \ deb_src_filename=$(PACKAGE:NetworkManager%=network-manager%)_$(VERSION).orig.tar.xz; \ rm -rf debian/files debian/*.log debian/*.substvars \ debian/network-manager-ssh-gnome/ debian/network-manager-ssh/ debian/tmp/; \ mv $(distdir).tar.xz ../"$$deb_src_filename"; \ dpkg-buildpackage -B -nc .PHONY: rpm deb changelog AM_CPPFLAGS = \ $(LIBNM_CFLAGS) \ $(GIO_CFLAGS) \ -DNM_SSH_LOCALEDIR=\"$(datadir)/locale\" \ -I$(top_srcdir) \ -I$(top_srcdir)/shared/ libexec_PROGRAMS += nm-ssh-service nm_ssh_service_SOURCES = \ src/nm-ssh-service.c \ src/nm-ssh-service.h \ shared/nm-service-defines.h nm_ssh_service_LDADD = \ $(LIBNM_LIBS) $(GIO_LIBS) properties/resources.c: properties/gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/properties --generate-dependencies $(srcdir)/properties/gresource.xml) $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ --sourcedir=$(srcdir)/properties --generate-source --internal gtk4/resources.c: properties/gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies $(srcdir)/properties/gresource.xml |sed "s,^,$(builddir)/gtk4/,") @mkdir -p $(builddir)/gtk4 $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ --sourcedir=$(srcdir)/gtk4 --sourcedir=$(builddir)/gtk4 --generate-source --internal gtk4/%.ui: properties/%.ui @mkdir -p $(builddir)/gtk4 gtk4-builder-tool simplify --3to4 $< |grep -v can-default >$@ # Include a prebuilt file in tarball, to avoid hitting # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4415 EXTRA_DIST += \ gtk4/nm-ssh-dialog.ui ################################################################################################### plugin_LTLIBRARIES = properties/libnm-vpn-plugin-ssh.la properties_libnm_vpn_plugin_ssh_la_SOURCES = \ shared/nm-utils/nm-vpn-plugin-utils.c \ shared/nm-utils/nm-vpn-plugin-utils.h \ properties/nm-ssh-editor-plugin.c \ properties/nm-ssh-editor-plugin.h properties_libnm_vpn_plugin_ssh_la_CFLAGS = \ $(LIBNM_CFLAGS) properties_libnm_vpn_plugin_ssh_la_LIBADD = \ $(LIBNM_LIBS) properties_libnm_vpn_plugin_ssh_la_LDFLAGS = \ -avoid-version ################################################################################################### if WITH_GNOME plugin_LTLIBRARIES += properties/libnm-gtk3-vpn-plugin-ssh-editor.la endif properties_libnm_gtk3_vpn_plugin_ssh_editor_la_SOURCES = \ properties/nm-ssh-editor.c \ properties/nm-ssh-editor.h \ properties/advanced-dialog.c \ properties/advanced-dialog.h nodist_properties_libnm_gtk3_vpn_plugin_ssh_editor_la_SOURCES = \ properties/resources.c properties_libnm_gtk3_vpn_plugin_ssh_editor_la_CFLAGS = \ $(GTK_CFLAGS) \ $(LIBNM_CFLAGS) properties_libnm_gtk3_vpn_plugin_ssh_editor_la_LIBADD = \ $(GTK_LIBS) \ $(LIBNM_LIBS) properties_libnm_gtk3_vpn_plugin_ssh_editor_la_LDFLAGS = \ -avoid-version ################################################################################################### if WITH_GTK4 plugin_LTLIBRARIES += properties/libnm-gtk4-vpn-plugin-ssh-editor.la endif properties_libnm_gtk4_vpn_plugin_ssh_editor_la_SOURCES = \ $(properties_libnm_gtk3_vpn_plugin_ssh_editor_la_SOURCES) nodist_properties_libnm_gtk4_vpn_plugin_ssh_editor_la_SOURCES = \ gtk4/resources.c properties_libnm_gtk4_vpn_plugin_ssh_editor_la_CFLAGS = \ $(GTK4_CFLAGS) \ $(LIBNM_CFLAGS) properties_libnm_gtk4_vpn_plugin_ssh_editor_la_LIBADD = \ $(GTK4_LIBS) \ $(LIBNM_LIBS) properties_libnm_gtk4_vpn_plugin_ssh_editor_la_LDFLAGS = \ $(properties_libnm_gtk3_vpn_plugin_ssh_editor_la_LDFLAGS) ################################################################################################### if WITH_LIBNM_GLIB plugin_LTLIBRARIES += properties/libnm-ssh-properties.la endif properties_libnm_ssh_properties_la_SOURCES = \ $(properties_libnm_gtk3_vpn_plugin_ssh_editor_la_SOURCES) \ $(libnm_vpn_plugin_ssh_la_SOURCES) properties_libnm_ssh_properties_la_CFLAGS = \ -DNM_SSH_OLD \ $(LIBNM_GLIB_CFLAGS) properties_libnm_ssh_properties_la_LIBADD = \ $(GTK_LIBS) \ $(LIBNM_GLIB_LIBS) properties_libnm_ssh_properties_la_LDFLAGS = \ $(libnm_vpn_plugin_ssh_la_LDFLAGS) ################################################################################################### libexec_PROGRAMS += auth-dialog/nm-ssh-auth-dialog auth_dialog_nm_ssh_auth_dialog_CPPFLAGS = \ $(GTK_CFLAGS) \ $(LIBSECRET_CFLAGS) \ $(LIBNM_CFLAGS) \ $(LIBNMA_CFLAGS) \ -I$(top_srcdir)/ \ -I$(top_srcdir)/shared/ auth_dialog_nm_ssh_auth_dialog_SOURCES = \ properties/resources.c \ auth-dialog/main.c auth_dialog_nm_ssh_auth_dialog_LDADD = \ $(GTK_LIBS) \ $(LIBSECRET_LIBS) \ $(LIBNM_LIBS) \ $(LIBNMA_LIBS) danfruehauf-NetworkManager-ssh-f65d65d/NEWS000066400000000000000000000012431507335542500206540ustar00rootroot00000000000000========================================================== NetworkManager-ssh-1.2.8 (not released yet) Overview of changes since NetworkManager-ssh-1.2.6 ========================================================== * libnm-glib compatibility (NetworkManager < 1.0) is disabled by default. It can be enabled by passing --with-libnm-glib to configure script. Nobody should need it by now. Users that still use this are encouraged to let us know before the libnm-glib support is removed for good. * The auth helper in external UI mode can now be run without a display server. Future nmcli version will utilize this for handling the secrets without a graphical desktop. danfruehauf-NetworkManager-ssh-f65d65d/NetworkManager-ssh.spec000066400000000000000000000047641507335542500245630ustar00rootroot00000000000000%global commit ___commit___ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global checkout ___checkout___%{shortcommit} Summary: NetworkManager VPN plugin for SSH Name: NetworkManager-ssh Version: ___version___ Release: 0.9.%{checkout}%{?dist} License: GPLv2+ URL: https://github.com/danfruehauf/NetworkManager-ssh Group: System Environment/Base Source0: https://github.com/danfruehauf/NetworkManager-ssh/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz BuildRequires: autoconf BuildRequires: gtk3-devel BuildRequires: NetworkManager-devel BuildRequires: NetworkManager-glib-devel BuildRequires: glib2-devel BuildRequires: libgnome-keyring-devel BuildRequires: libtool intltool gettext Requires: gtk3 Requires: dbus Requires: NetworkManager Requires: openssh-clients Requires: shared-mime-info Requires: gnome-keyring Requires: sshpass %global _privatelibs libnm-ssh-properties[.]so.* %global __provides_exclude ^(%{_privatelibs})$ %global __requires_exclude ^(%{_privatelibs})$ %description This package contains software for integrating VPN capabilities with the OpenSSH server with NetworkManager. %package -n NetworkManager-ssh-gnome Summary: NetworkManager VPN plugin for SSH - GNOME files Group: System Environment/Base Requires: NetworkManager-ssh = %{version}-%{release} %if 0%{?fedora} > 17 Requires: nm-connection-editor %else Requires: NetworkManager-gnome %endif %description -n NetworkManager-ssh-gnome This package contains software for integrating VPN capabilities with the OpenSSH server with NetworkManager (GNOME files). %prep %setup -q -n %{name}-%{commit} %build if [ ! -f configure ]; then autoreconf -fvi fi %configure --disable-static --disable-dependency-tracking --enable-more-warnings=yes --with-gtkver=3 make %{?_smp_mflags} %install make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la %find_lang %{name} %files -f %{name}.lang %doc COPYING AUTHORS README ChangeLog %config(noreplace) %{_sysconfdir}/dbus-1/system.d/nm-ssh-service.conf %config(noreplace) %{_sysconfdir}/NetworkManager/VPN/nm-ssh-service.name %{_libexecdir}/nm-ssh-service %{_libexecdir}/nm-ssh-auth-dialog %{_prefix}/lib/NetworkManager/VPN/nm-ssh-service.name %files -n NetworkManager-ssh-gnome %doc COPYING AUTHORS README ChangeLog %{_libdir}/NetworkManager/lib*.so* %dir %{_datadir}/gnome-vpn-properties/ssh %{_datadir}/gnome-vpn-properties/ssh/nm-ssh-dialog.ui %{_datarootdir}/appdata/network-manager-ssh.metainfo.xml %changelog danfruehauf-NetworkManager-ssh-f65d65d/README000066400000000000000000000001751507335542500210400ustar00rootroot00000000000000SSH VPN support for NetworkManager See README.md at https://github.com/danfruehauf/NetworkManager-ssh/blob/master/README.md danfruehauf-NetworkManager-ssh-f65d65d/README.md000066400000000000000000000243331507335542500214410ustar00rootroot00000000000000# NetworkManager-ssh SSH VPN integration for NetworkManager. The SSH VPN can be used just anywhere! ## So what does it do? NetworkManager-ssh integrates OpenSSH tunnel capabilities with NetworkManager and provides you with the easiest of all VPNs, as OpenSSH lives on almost any *nix machine today. ## Compiling ### Fedora/CentOS If you're using Fedora 41 or later, you can simply run: ```sh # dnf install NetworkManager-ssh-gnome ``` If you're using Fedora 41 or later, with KDE Plasma 5 run: ```sh # dnf install NetworkManager-ssh plasma-nm-ssh ``` That will set you up with NetworkManager and the traditional GNOME interface. I am the current maintainer of the package for Fedora. On older versions of Fedora or CentOS, you can run the following after cloning the repository: ```sh $ autoreconf -fvi && ./configure && make rpm ``` Enjoy your new RPM. ### Ubuntu/Debian On recent Debian/Ubuntu distributions you should be able to install with: ```sh # apt-get install network-manager-ssh ``` In case you want to build the package for Debian/Ubuntu, you can use the complimentary packaging this repository provides. But **please do not open bugs about it on this GitHub issue tracker**. The correct thing to do is to use the upstream packages provided with the distribution and open bugs on the distribution issue tracker. Building a .deb *should* be straight forward with: ```sh # apt-get install libnm-glib-dev libnm-glib-vpn-dev libnm-util-dev libnm-dev libnma-dev libgnome-keyring-dev dh-autoreconf libgtk-3-dev sshpass $ autoreconf -fvi && ./configure && make deb ``` Enjoy your new .deb. (It should show up in the directory you `git clone`d from.) ### Older Distributions On old distributions with NetworkManager < 0.9.10, such as Ubuntu 14.04, use the 0.9.3 tag: ```sh $ git checkout 0.9.3 $ autoreconf -fvi && ./configure && make deb ``` ### Arch Linux A package for Arch is available in the AUR - https://aur.archlinux.org/packages/networkmanager-ssh ## Running Please edit `/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf` and add the line: ```xml ``` Make sure your target host is known in `~/.ssh/known_hosts`. If it's not there, you should add it manually or by SSHing to it: ``` $ ssh root@TARGET_HOST The authenticity of host 'TARGET_HOST' can't be established. ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ECDSA key fingerprint is MD5:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'TARGET_HOST' (ECDSA) to the list of known hosts. ``` If all went right, you should have a new VPN of type SSH when creating a new VPN. ## Scenario #1 - Classic Full Tunnel Support For that scenario, remote root login is required, and you want to achieve a full tap/tun tunnel. Use the following settings: * Define IP addresses on the same subnet for both local and remote ends * The default are 172.16.40.1/255.255.255.252 for the remote end, and 172.16.40.2/255.255.255.252 locally * Leave all settings as default, but adjust remote host and port For authentication, it is generally recommended to use key based authentication, either ssh-agent or a static key. ## Scenario #2 - Full Tunnel Support Without Remote Root It is possible to login with a non-privileged user on the remote end, but still have a tun/tap device opened, with some prior preparation. Prepare the tun100 device on the remote host to be used by a non-privileged user: ``` # ip tuntap add name tun100 mode tun user dan ``` In the advanced dialog set the following: * Set the remote user to login with - that has permissions for the tun/tap device (`dan` in the example above) * Set the device number to match the device you've pre-opened on the remote host (`100` in that case) * Decide how you want the IP address to be set on the other side * Use `sudo` for the remote commands, and NetworkManager-ssh will handle that * Tick `Disable remote command (-N)`, and set the IP address manually on the remote end * Something along the lines of: `/sbin/ip addr add 172.16.40.1/255.255.255.252 peer 172.16.40.2/255.255.255.252 dev tun100` ## Scenario #3 - No Tunnel If you are after a no full tunnel support, tick both in the advanced dialog: * `No tunnel` (this also implies `-N`, for no remote command) * You can choose a non-privileged user on the remote host as well This mode is handy if you're after setting a SSH connection with one or more of the following options: * SOCKS proxy (`-D`) * Local port binding (`-L`) * Remote port binding (`-R`) Each of the above option take multiple arguments that are space separated. NetworkManager requires a device for the VPN to be bound to, so a dummy device is being used with dummy IP addresses. ### Debugging When things go wrong and you can't really figure out what's happening, have a look at `/var/log/messages` as you spin up the connection. You should be able to tell what is going wrong. ## Server side configuration Even though this is a bit off-topic, I've decided to cover it anyway. On the server, you'll need to enable in `/etc/ssh/sshd_config`: ``` PermitTunnel=yes ``` Enable kernel packet forwarding: ```sh # echo 1 > /proc/sys/net/ipv4/ip_forward ``` In terms of firewall configuration, I recommend looking at the "standard" way of editing firewall rules on your distribution. These however, should work on most GNU/Linux distributions. Tun devices: ```sh # iptables -I FORWARD -i tun+ -j ACCEPT # iptables -I FORWARD -o tun+ -j ACCEPT # iptables -I INPUT -i tun+ -j ACCEPT # iptables -t nat -I POSTROUTING -o EXTERNAL_INTERFACE -j MASQUERADE ``` Tap devices: ```sh # iptables -I FORWARD -i tap+ -j ACCEPT # iptables -I FORWARD -o tap+ -j ACCEPT # iptables -I INPUT -i tap+ -j ACCEPT # iptables -t nat -I POSTROUTING -o EXTERNAL_INTERFACE -j MASQUERADE ``` Please use these firewall rules as a reference only. Don't forget to replace EXTERNAL_INTERFACE with your WAN interface (eth0, ppp0, etc). ## Authenticating with SSH Agent You will need ssh-agent running before you start NetworkManager-ssh. How do you know if you have ssh-agent running? Simply run: ```sh $ env | grep SSH SSH_AGENT_PID=16152 SSH_AUTH_SOCK=/tmp/ssh-mGTf3Q1L2oPf/agent.16151 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass ``` You should see something similar to that. NetworkManager-ssh probes for the ssh-agent that is attached to your session and authenticates with its socket. ## Limitations ## Running Without Remote Root If you wish to run that plugin with a non-root user on the other side, but with tunnel support, you can prepare the tunnel device on the other end before hand, and then you can login with a non-root account. Run the following on the remote server: ``` # ip tuntap add name tun101 mode tun user dan ``` The command above will allow `tun101` to be opened by used `dan`. Now, you can configure the plugin to use `tun101` and user `dan` on the remote end. If you still get an error like: ``` debug1: Remote: Failed to open the tunnel device. channel 0: open failed: connect failed: open failed Tunnel forwarding failed ``` It is likely something is misconfigured, and you'll have to debug further. ### Extra Options Initially, _any_ SSH command flags were allowed to be passed. However, this could cause a privilege escalation issue - so that option was removed (https://github.com/danfruehauf/NetworkManager-ssh/pull/98). Therefore, as handy as it may be, please do not ask to add that feature again :) ### Known Hosts If the destination host is not in your known_hosts file, things will not work. Check your logs to understand if that is the case. ## Behind the scenes - how does it actually work?? In order to open a tunnel OpenSSH VPN, all that you have to do is run: ```bash #!/bin/bash # This is the WAN IP/hostname of the remote machine REMOTE=vpn.nm-ssh.com # Remote username will usually be root, or any other privileged user # who can open tun/tap devices on the remote host REMOTE_USERNAME=root # Remote IP in the tunnel REMOTE_IP=172.16.40.1 # Local IP in the tunnel LOCAL_IP=172.16.40.2 # Netmask to set (on both sides) NETMASK=255.255.255.252 # SSH port to use PORT=22 # MTU for tunnel MTU=1500 # Remote tunnel device (tun100/tap100) REMOTE_DEV=100 DEV_TYPE=tun # TUNNEL_TYPE is 'point-to-point' for tun and 'ethernet' for tap TUNNEL_TYPE=point-to-point # Local tunnel is calculated depending on what devices are free # The following loop iterates from 0 to 255 and finds a free # tun/tap device for i in `seq 0 255`; do ! /sbin/ip link show $DEV_TYPE$i >& /dev/null && LOCAL_DEV=$i && break; done # Finally, the command that does it all: ssh -f -o PreferredAuthentications=publickey -o NumberOfPasswordPrompts=0 -o ServerAliveInterval=10 -o TCPKeepAlive=yes \ -o User=$REMOTE_USERNAME -o Port=$PORT -o HostName=$REMOTE -o Tunnel=$TUNNEL_TYPE -o TunnelDevice=$LOCAL_DEV:$REMOTE_DEV \ $REMOTE "/sbin/ip addr add $REMOTE_IP/$NETMASK peer $LOCAL_IP/$NETMASK dev $DEV_TYPE$REMOTE_DEV; /sbin/ip link set $MTU dev $DEV_TYPE$REMOTE_DEV up" && \ /sbin/ip addr add $LOCAL_IP/$NETMASK peer $REMOTE_IP/$NETMASK dev $DEV_TYPE$LOCAL_DEV; /sbin/ip link set $MTU dev $DEV_TYPE$LOCAL_DEV up ``` That's actually an edited export file of a working SSH VPN configuration I have from NetworkManager. This will create a tunnel of 172.16.40.1<->172.16.40.2 on tun100 on both machines. If forwarding is enabled on that SSH server, you'll get pass-through internet easy. ## People I'd like to thank * Thomas Young - First user! * Whoopie - For nice debian support and testing * Oren Held - Invaluable feedback and testing * Lubomir Rintel (@lkundrak)- Keeping this repository up to date with upstream NetworkManager, assisting with Fedora packaging * Lennart Weller (@lhw) - Debian packaging * Anyone else who engaged with the project - tested the software & opened tickets, suggested improvements, and/or submitted code ## Screenshots Choosing a connection type: Main dialog: Advanced dialog: danfruehauf-NetworkManager-ssh-f65d65d/auth-dialog/000077500000000000000000000000001507335542500223535ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/auth-dialog/.gitignore000066400000000000000000000002721507335542500243440ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app Makefile Makefile.in .deps nm-ssh-auth-dialog danfruehauf-NetworkManager-ssh-f65d65d/auth-dialog/main.c000066400000000000000000000246231507335542500234520ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* NetworkManager Wireless Applet -- Display wireless access points and allow user control * * Dan Fruehauf * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * (C) Copyright 2013 Dan Fruehauf */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #include #include "nm-service-defines.h" #define KEYRING_UUID_TAG "connection-uuid" #define KEYRING_SN_TAG "setting-name" #define KEYRING_SK_TAG "setting-key" #define UI_KEYFILE_GROUP "VPN Plugin UI" static const SecretSchema network_manager_secret_schema = { "org.freedesktop.NetworkManager.Connection", SECRET_SCHEMA_DONT_MATCH_NAME, { { KEYRING_UUID_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, { KEYRING_SN_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, { KEYRING_SK_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, { NULL, 0 }, } }; static char * keyring_lookup_secret (const char *uuid, const char *secret_name) { GHashTable *attrs; GList *list; char *secret = NULL; attrs = secret_attributes_build (&network_manager_secret_schema, KEYRING_UUID_TAG, uuid, KEYRING_SN_TAG, NM_SETTING_VPN_SETTING_NAME, KEYRING_SK_TAG, secret_name, NULL); list = secret_service_search_sync (NULL, &network_manager_secret_schema, attrs, SECRET_SEARCH_ALL | SECRET_SEARCH_UNLOCK | SECRET_SEARCH_LOAD_SECRETS, NULL, NULL); if (list && list->data) { SecretItem *item = list->data; SecretValue *value = secret_item_get_secret (item); if (value) { secret = g_strdup (secret_value_get (value, NULL)); secret_value_unref (value); } } g_list_free_full (list, g_object_unref); g_hash_table_unref (attrs); return secret; } static void keyfile_add_entry_info (GKeyFile *keyfile, const gchar *key, const gchar *value, const gchar *label, gboolean is_secret, gboolean should_ask) { g_key_file_set_string (keyfile, key, "Value", value); g_key_file_set_string (keyfile, key, "Label", label); g_key_file_set_boolean (keyfile, key, "IsSecret", is_secret); g_key_file_set_boolean (keyfile, key, "ShouldAsk", should_ask); } static void keyfile_print_stdout (GKeyFile *keyfile) { gchar *data; gsize length; data = g_key_file_to_data (keyfile, &length, NULL); fputs (data, stdout); g_free (data); } static gboolean get_secrets (const char *vpn_uuid, const char *vpn_name, gboolean retry, gboolean allow_interaction, gboolean external_ui_mode, const char *in_pw, char **out_pw, NMSettingSecretFlags pw_flags) { NMAVpnPasswordDialog *dialog; char *prompt, *pw = NULL; const char *new_password = NULL; g_return_val_if_fail (vpn_uuid != NULL, FALSE); g_return_val_if_fail (vpn_name != NULL, FALSE); g_return_val_if_fail (out_pw != NULL, FALSE); g_return_val_if_fail (*out_pw == NULL, FALSE); /* Get the existing secret, if any */ if ( !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED) && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)) { if (in_pw) pw = g_strdup (in_pw); else pw = keyring_lookup_secret (vpn_uuid, NM_SSH_KEY_PASSWORD); } /* Don't ask if the passwords is unused */ if (pw_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED) { g_free (pw); return TRUE; } /* Otherwise, we have no saved password, or the password flags indicated * that the password should never be saved. */ prompt = g_strdup_printf (_("You need to authenticate to access the Virtual Private Network '%s'."), vpn_name); if (external_ui_mode) { GKeyFile *keyfile; keyfile = g_key_file_new (); g_key_file_set_integer (keyfile, UI_KEYFILE_GROUP, "Version", 2); g_key_file_set_string (keyfile, UI_KEYFILE_GROUP, "Description", prompt); g_key_file_set_string (keyfile, UI_KEYFILE_GROUP, "Title", _("Authenticate VPN")); keyfile_add_entry_info (keyfile, NM_SSH_KEY_PASSWORD, pw ? pw : "", _("Password:"), TRUE, allow_interaction); keyfile_print_stdout (keyfile); g_key_file_unref (keyfile); goto out; } else if ( allow_interaction == FALSE || (!retry && pw && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED))) { /* If interaction isn't allowed, just return existing secrets. * Also, don't ask the user if we don't need a new password (ie, !retry), * we have an existing PW, and the password is saved. */ *out_pw = pw; g_free (prompt); return TRUE; } gtk_init (NULL, NULL); dialog = NMA_VPN_PASSWORD_DIALOG ( nma_vpn_password_dialog_new (_("Authenticate VPN"), prompt, NULL)); nma_vpn_password_dialog_set_show_password_secondary (dialog, FALSE); /* pre-fill dialog with the password */ if (pw && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED)) nma_vpn_password_dialog_set_password (dialog, pw); gtk_widget_show (GTK_WIDGET (dialog)); if (nma_vpn_password_dialog_run_and_block (dialog)) { new_password = nma_vpn_password_dialog_get_password (dialog); if (new_password) *out_pw = g_strdup (new_password); } gtk_widget_hide (GTK_WIDGET (dialog)); gtk_widget_destroy (GTK_WIDGET (dialog)); out: g_free (prompt); return TRUE; } static void wait_for_quit (void) { GString *str; char c; ssize_t n; time_t start; str = g_string_sized_new (10); start = time (NULL); do { errno = 0; n = read (0, &c, 1); if (n == 0 || (n < 0 && errno == EAGAIN)) g_usleep (G_USEC_PER_SEC / 10); else if (n == 1) { g_string_append_c (str, c); if (strstr (str->str, "QUIT") || (str->len > 10)) break; } else break; } while (time (NULL) < start + 20); g_string_free (str, TRUE); } int main (int argc, char *argv[]) { gboolean retry = FALSE, allow_interaction = FALSE, external_ui_mode = FALSE; char *vpn_name = NULL, *vpn_uuid = NULL, *vpn_service = NULL, *password = NULL; const char *auth_type, *password_key; GHashTable *data = NULL, *secrets = NULL; NMSettingSecretFlags pw_flags = NM_SETTING_SECRET_FLAG_NONE; GOptionContext *context; GOptionEntry entries[] = { { "reprompt", 'r', 0, G_OPTION_ARG_NONE, &retry, "Reprompt for passwords", NULL}, { "uuid", 'u', 0, G_OPTION_ARG_STRING, &vpn_uuid, "UUID of VPN connection", NULL}, { "name", 'n', 0, G_OPTION_ARG_STRING, &vpn_name, "Name of VPN connection", NULL}, { "service", 's', 0, G_OPTION_ARG_STRING, &vpn_service, "VPN service type", NULL}, { "allow-interaction", 'i', 0, G_OPTION_ARG_NONE, &allow_interaction, "Allow user interaction", NULL}, { "external-ui-mode", 0, 0, G_OPTION_ARG_NONE, &external_ui_mode, "External UI mode", NULL}, { NULL } }; bindtextdomain (GETTEXT_PACKAGE, NULL); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); context = g_option_context_new ("- ssh auth dialog"); g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); g_option_context_add_group (context, gtk_get_option_group (FALSE)); g_option_context_parse (context, &argc, &argv, NULL); g_option_context_free (context); if (!vpn_uuid || !vpn_service || !vpn_name) { fprintf (stderr, "Have to supply ID, name, and service\n"); return 1; } if (strncmp (vpn_service, NM_DBUS_SERVICE_SSH, strlen(NM_DBUS_SERVICE_SSH)) != 0) { fprintf (stderr, "This dialog only works with the '%s' service\n", NM_DBUS_SERVICE_SSH); return 1; } if (!nm_vpn_service_plugin_read_vpn_details (0, &data, &secrets)) { fprintf (stderr, "Failed to read '%s' (%s) data and secrets from stdin.\n", vpn_name, vpn_uuid); return 1; } /* Avoid awkwardness if auth_type equals NULL, which can happen: * https://bugzilla.redhat.com/show_bug.cgi?id=1056810 */ auth_type = g_hash_table_lookup (data, NM_SSH_KEY_AUTH_TYPE); if (!auth_type) { fprintf (stderr, "Authentication type not specified in configuration\n"); return 1; } /* Depending on auth type see if we need a password */ if (strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD)) == 0) { /* FIXME one day... */ nm_vpn_service_plugin_get_secret_flags (secrets, NM_SSH_KEY_PASSWORD, &pw_flags); password_key = NM_SSH_KEY_PASSWORD; if (!get_secrets (vpn_uuid, vpn_name, retry, allow_interaction, external_ui_mode, g_hash_table_lookup (secrets, NM_SSH_KEY_PASSWORD), &password, pw_flags)) return 1; } else if (strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY)) == 0) { /* FIXME ask for password if key is encrypted */ } else if (strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT)) == 0) { /* Probe the SSH agent socket */ password = g_strdup (getenv (SSH_AUTH_SOCK)); if (password && strlen (password)) { password_key = NM_SSH_KEY_SSH_AUTH_SOCK; } else { GtkWidget *dialog; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, _("Couldn't find '%s' environment variable.\n\nIs ssh-agent running?"), SSH_AUTH_SOCK); gtk_window_set_title(GTK_WINDOW(dialog), "Warning"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); return 1; } } else { fprintf (stderr, "Unknown authentication method required: '%s'.\n", auth_type); return 1; } if (!external_ui_mode) { /* dump the passwords to stdout */ if (password) printf ("%s\n%s\n", password_key, password); printf ("\n\n"); g_free (password); /* for good measure, flush stdout since Kansas is going Bye-Bye */ fflush (stdout); /* Wait for quit signal */ wait_for_quit (); } if (data) g_hash_table_unref (data); if (secrets) g_hash_table_unref (secrets); return 0; } danfruehauf-NetworkManager-ssh-f65d65d/configure.ac000066400000000000000000000105641507335542500224510ustar00rootroot00000000000000AC_PREREQ(2.52) AC_INIT(NetworkManager-ssh, 1.2.7, malkodan@gmail.com, NetworkManager-ssh) AM_INIT_AUTOMAKE([1.9 subdir-objects tar-ustar no-dist-gzip dist-xz]) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AC_USE_SYSTEM_EXTENSIONS dnl dnl Require programs dnl AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_LIBTOOL AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) dnl dnl Required headers dnl AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h) dnl dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_TYPE_MODE_T AC_TYPE_PID_T AC_HEADER_TIME AC_GNU_SOURCE dnl dnl Checks for library functions. dnl AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_CHECK_FUNCS(select socket uname) dnl ensure that when the Automake generated makefile calls aclocal, dnl it honours the $ACLOCAL_FLAGS environment variable ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" if test -n "$ac_macro_dir"; then ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS" fi AC_SUBST([ACLOCAL_AMFLAGS]) dnl dnl GNOME support dnl AC_ARG_WITH(gnome, AS_HELP_STRING([--without-gnome], [Build NetworkManager-ssh without GNOME support, e.g. vpn service only])) AM_CONDITIONAL(WITH_GNOME, test x"$with_gnome" != xno) AC_ARG_WITH(gtk4, AS_HELP_STRING([--with-gtk4], [Build NetworkManager-vpnc with libnma-gtk4 support]), [], [with_gtk4_specified=no]) AM_CONDITIONAL(WITH_GTK4, test x"$with_gtk4" == xyes) AC_ARG_WITH(libnm-glib, AS_HELP_STRING([--with-libnm-glib], [Build NetworkManager-ssh without libnm-glib comatibility])) AM_CONDITIONAL(WITH_LIBNM_GLIB, test x"$with_libnm_glib" == xyes) AC_ARG_ENABLE(absolute-paths, AS_HELP_STRING([--enable-absolute-paths], [Use absolute paths to in .name files. Useful for development. (default is no)])) GETTEXT_PACKAGE=NetworkManager-ssh AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) IT_PROG_INTLTOOL([0.35]) AM_GLIB_GNU_GETTEXT PKG_CHECK_MODULES(GIO, gio-unix-2.0 >= 2.32) GIO_CFLAGS="$GIO_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32" GIO_CFLAGS="$GIO_CFLAGS -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32" AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) if test x"$with_gnome" != xno; then PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.4) GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4" GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MAN_REQUIRED=GDK_VERSION_3_4" PKG_CHECK_MODULES(LIBNMA, libnma >= 1.1.0) PKG_CHECK_MODULES(LIBSECRET, libsecret-1) if test x"$with_libnm_glib" == xyes; then PKG_CHECK_MODULES(LIBNM_GTK, libnm-gtk >= 1.1.0) PKG_CHECK_MODULES(LIBNM_GLIB, NetworkManager >= 1.1.0 libnm-util >= 1.1.0 libnm-glib >= 1.1.0 libnm-glib-vpn >= 1.1.0) LIBNM_GLIB_CFLAGS="$LIBNM_GLIB_CFLAGS -DNM_VERSION_MIN_REQUIRED=NM_VERSION_1_2" LIBNM_GLIB_CFLAGS="$LIBNM_GLIB_CFLAGS -DNM_VERSION_MAX_ALLOWED=NM_VERSION_1_2" fi fi if test x"$with_gtk4" == xyes; then PKG_CHECK_MODULES(GTK4, gtk4 >= 4.0) GTK4_CFLAGS="$GTK4_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_0" GTK4_CFLAGS="$GTK4_CFLAGS -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_0" PKG_CHECK_MODULES(LIBNMA_GTK4, libnma-gtk4 >= 1.8.33) fi PKG_CHECK_MODULES(LIBNM, libnm >= 1.1.0) LIBNM_CFLAGS="$LIBNM_CFLAGS -DNM_VERSION_MIN_REQUIRED=NM_VERSION_1_2" LIBNM_CFLAGS="$LIBNM_CFLAGS -DNM_VERSION_MAX_ALLOWED=NM_VERSION_1_2" NM_VPN_SERVICE_DIR=`$PKG_CONFIG pkg-config --define-variable prefix='\${prefix}' --variable vpnservicedir libnm` AC_SUBST(NM_VPN_SERVICE_DIR) NM_COMPILER_WARNINGS test x"$enable_absolute_paths" = x"yes" && NM_PLUGIN_DIR='$(libdir)/NetworkManager/' AC_SUBST(NM_PLUGIN_DIR) dnl dnl Constants dnl ip (iproute2) should usually be at /sbin/ip AC_DEFINE(IFCONFIG, "/sbin/ifconfig", ifconfig) AC_DEFINE(IPROUTE2, "/sbin/ip", iproute2) AC_DEFINE(SUDO, "sudo", sudo) dnl ssh-agent SSH_AUTH_SOCK variable AC_DEFINE(SSH_AUTH_SOCK, "SSH_AUTH_SOCK", SSH_AUTH_SOCK) dnl known_hosts default path in home directory AC_DEFINE(SSH_KNOWN_HOSTS_PATH, ".ssh/known_hosts", SSH_KNOWN_HOSTS_PATH) dnl dnl Distribution version string dnl AC_ARG_WITH(dist-version, AS_HELP_STRING([--with-dist-version=], [Define the custom version (like distribution package name and revision)]), ac_distver=$withval, ac_distver="") if ! test x"$ac_distver" = x""; then AC_DEFINE_UNQUOTED(DIST_VERSION, "$ac_distver", [Define the distribution version string]) fi AC_CONFIG_FILES([ Makefile po/Makefile.in ]) AC_OUTPUT danfruehauf-NetworkManager-ssh-f65d65d/debian/000077500000000000000000000000001507335542500213775ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/debian/changelog000066400000000000000000000035611507335542500232560ustar00rootroot00000000000000network-manager-ssh (0.9.3-0ubuntu2) precise quantal saucy trusty utopic; urgency=low * Replaced GTK Stock with non-depricated version -- Andrew Rowson Sun, 4 May 2014 00:00:00 +1000 network-manager-ssh (0.9.2-0ubuntu2) precise; urgency=high * Replaced strcmp with strncmp -- Dan Fruehauf Sun, 26 Jan 2014 00:00:00 +1000 network-manager-ssh (0.9.1-0ubuntu2) precise; urgency=low * Fixed password saving -- Dan Fruehauf Sat, 06 Jul 2013 00:00:00 +1000 network-manager-ssh (0.9.0-0ubuntu2) precise; urgency=low * Support for password and plain key authentication -- Dan Fruehauf Thu, 27 Jun 2013 01:01:21 +1000 network-manager-ssh (0.0.4-0ubuntu2) precise; urgency=low * Can choose to not set VPN as default route -- Dan Fruehauf Tue, 25 Jun 2013 11:22:37 +1000 network-manager-ssh (0.0.3-1ubuntu2) precise; urgency=low * DBUS and NetworkManager files in /etc are no longer config files * Other refactoring to conform with other NetworkManager VPN plugins -- Dan Fruehauf Fri, 19 Apr 2013 14:23:31 +1000 network-manager-ssh (0.0.3-0ubuntu2) precise; urgency=low * ipv6 support -- Dan Fruehauf Mon, 25 Feb 2013 00:34:10 +1000 network-manager-ssh (0.0.2+git.20130220t093016.011a210-0ubuntu1~precise1) precise; urgency=low * upstream snapshot 2013-02-20 09:30:16 (GMT) + 011a210ccd9ae1491f1f1e5ac331305560a021c8 -- Whoopie Fri, 22 Feb 2013 13:11:57 +0100 network-manager-ssh (0.0.2-0ubuntu2) quantal; urgency=low * greatly improved ssh-agent integration -- Dan Fruehauf Sun, 16 Feb 2013 01:43:07 +1000 network-manager-ssh (0.0.1-0ubuntu2) quantal; urgency=low * Initial release -- Dan Fruehauf Wed, 13 Feb 2013 14:25:07 +1000 danfruehauf-NetworkManager-ssh-f65d65d/debian/compat000066400000000000000000000000021507335542500225750ustar00rootroot000000000000008 danfruehauf-NetworkManager-ssh-f65d65d/debian/control000066400000000000000000000036071507335542500230100ustar00rootroot00000000000000Source: network-manager-ssh Section: net Priority: optional Maintainer: Dan Fruehauf XSBC-Original-Maintainer: Dan Fruehauf Uploaders: Dan Fruehauf Build-Depends: debhelper (>= 8), dh-autoreconf, dpkg-dev (>= 1.16.1~), network-manager-dev (>= 1.1.0), libnm-util-dev (>= 1.1.0), libnm-glib-dev (>= 1.1.0), libnm-glib-vpn-dev (>= 1.1.0), libnm-dev (>= 1.1.0), libnma-dev (>= 1.1.0), intltool, libgnome-keyring-dev, libgtk-3-dev (>= 3.0), libglib2.0-dev Standards-Version: 4.5.0 Vcs-Browser: https://github.com/danfruehauf/NetworkManager-ssh/ Vcs-Git: https://github.com/danfruehauf/NetworkManager-ssh.git Homepage: https://github.com/danfruehauf/NetworkManager-ssh/ Package: network-manager-ssh Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, openssh-client, sshpass Recommends: network-manager-ssh-gnome | plasma-widget-networkmanagement Description: network management framework (SSH plugin core) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, Wi-Fi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package provides a VPN plugin for SSH. Package: network-manager-ssh-gnome Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, network-manager-ssh (= ${binary:Version}) Description: network management framework (SSH plugin GNOME GUI) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, Wi-Fi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package provides the GNOME bits of NetworkManager's SSH plugin. danfruehauf-NetworkManager-ssh-f65d65d/debian/copyright000066400000000000000000000023761507335542500233420ustar00rootroot00000000000000Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: NetworkManager-ssh Source: https://github.com/danfruehauf/NetworkManager-ssh Files: * Copyright: Copyright (c) 2013 Dan Fruehauf License: GPL-2+ Files: properties/advanced-dialog.c properties/nm-ssh.h properties/advanced-dialog.h properties/nm-ssh.c Copyright: Copyright (c) 2005 Dan Williams, Copyright (c) 2013 Dan Fruehauf License: GPL-2+ License: GPL-2+ This package 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 package 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, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". danfruehauf-NetworkManager-ssh-f65d65d/debian/gbp.conf000066400000000000000000000000651507335542500230170ustar00rootroot00000000000000[DEFAULT] pristine-tar = True debian-branch = master danfruehauf-NetworkManager-ssh-f65d65d/debian/network-manager-ssh-gnome.install000066400000000000000000000001151507335542500277630ustar00rootroot00000000000000usr/lib/NetworkManager/*.so* usr/share/gnome-vpn-properties usr/share/locale danfruehauf-NetworkManager-ssh-f65d65d/debian/network-manager-ssh.docs000066400000000000000000000000221507335542500261370ustar00rootroot00000000000000AUTHORS README.md danfruehauf-NetworkManager-ssh-f65d65d/debian/network-manager-ssh.install000066400000000000000000000001241507335542500266600ustar00rootroot00000000000000etc usr/lib/NetworkManager/nm-ssh-service usr/lib/NetworkManager/nm-ssh-auth-dialog danfruehauf-NetworkManager-ssh-f65d65d/debian/network-manager-ssh.postinst000066400000000000000000000004061507335542500271000ustar00rootroot00000000000000#!/bin/sh set -e case "$1" in configure) if [ -x "/etc/init.d/dbus" ]; then if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d dbus force-reload || true else /etc/init.d/dbus force-reload || true fi fi ;; esac #DEBHELPER# exit 0 danfruehauf-NetworkManager-ssh-f65d65d/debian/patches/000077500000000000000000000000001507335542500230265ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/debian/patches/series000066400000000000000000000000511507335542500242370ustar00rootroot00000000000000# Debian patches for network-manager-ssh danfruehauf-NetworkManager-ssh-f65d65d/debian/rules000077500000000000000000000065531507335542500224700ustar00rootroot00000000000000#!/usr/bin/make -f GIT_URL = git://github.com/danfruehauf/NetworkManager-ssh.git GIT_BRANCH := "master" GIT_BRANCH_NAME := network-manager-ssh ifneq (,$(LOCAL_BRANCH)) LOCAL_REAL_BRANCH = $(realpath $(LOCAL_BRANCH)) endif DEB_SOURCE := $(shell dpkg-parsechangelog | grep Source: | sed -e 's/Source: //') DEB_VERSION := $(shell dpkg-parsechangelog | grep Version: | sed -e 's/Version: //') DEB_UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed -e 's/-[^-]*$$//') DEB_MAJOR_VERSION := $(shell echo $(DEB_UPSTREAM_VERSION) | sed -e 's/git.*//') export DEB_CFLAGS_MAINT_APPEND = -Wno-deprecated-declarations export DEB_CFLAGS_MAINT_APPEND = -Wno-deprecated-declarations DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk %: dh $@ --with autoreconf override_dh_auto_configure: dh_auto_configure -- \ --libexecdir=/usr/lib/NetworkManager \ --disable-static \ --with-gtkver=3 override_dh_makeshlibs: dh_makeshlibs -X/usr/lib/NetworkManager/ override_dh_auto_clean: rm -f po/*.gmo # echo "# empty file" > aclocal.m4 override_dh_autoreconf: intltoolize -f -c # stuff for get-orig-source / git snapshot handling GET_SOURCE = \ set -e; \ tmpdir=`mktemp -d -t`; \ cd $$tmpdir; \ echo "cloning upstream repository ..."; \ git clone $(if $(LOCAL_BRANCH),$(call LOCAL_REAL_BRANCH)/$(GIT_BRANCH_NAME),$(GIT_URL)) $(GIT_BRANCH_NAME); \ echo "getting specific upstream revision/tag: $(1)"; \ cd `ls | head -n 1`; git checkout -b orig $(1); \ commit_id=`git log -n1 --abbrev-commit | grep '^commit ' | sed -e 's/commit //' | sed -e 's/\.\.\.$$//'`; \ raw=`date --utc --date="$$(git log --pretty=fuller -n1 --date=rfc | grep CommitDate: | sed -e 's/CommitDate:[^0-9]*//')" "+%Y%m%dt%H%M%S"`; \ if echo $(1) | grep -q -c "orig" || echo $(DEB_VERSION) | grep -q -c "git"; \ then \ upstream_version=$(DEB_MAJOR_VERSION)git.$$raw.$$commit_id; \ else \ upstream_version=$(DEB_UPSTREAM_VERSION); \ fi; \ cd ..; tar --exclude=.git -czf $(CURDIR)/$(DEB_SOURCE)_$$upstream_version.orig.tar.gz `ls | head -n 1`; \ cd $(CURDIR); rm -rf $$tmpdir; get-current-source:: $(if $(LOCAL_BRANCH),update-local-branch) set -e; if echo $(DEB_VERSION) | grep -q -c "git"; \ then \ git_version=`echo $(DEB_VERSION) | sed -e 's/^.*git\.*\([0-9t]*\)\.\(.*\)-.*$$/\2/g'`; \ elif echo $(DEB_VERSION) | grep -q -c "rc1"; \ then \ git_version="0.0.4"; \ else \ git_version=$(DEB_UPSTREAM_VERSION); \ fi; \ $(call GET_SOURCE, $$git_version, "current") get-orig-source:: $(if $(LOCAL_BRANCH),update-local-branch) $(call GET_SOURCE, $(GIT_BRANCH), "orig") update-local-branch:: @echo "updating local branch ($(LOCAL_BRANCH))" @set -e; if ! test -d $(LOCAL_BRANCH); then mkdir -p $(LOCAL_BRANCH); fi @set -e; if ! test -d $(LOCAL_BRANCH)/$(GIT_BRANCH_NAME); then git clone $(GIT_URL) $(LOCAL_BRANCH)/$(GIT_BRANCH_NAME); fi @set -e; cd $(LOCAL_BRANCH)/$(GIT_BRANCH_NAME); git pull -f @echo "updated local branch ($(LOCAL_BRANCH))" get-snapshot-info:: $(if $(LOCAL_BRANCH),update-local-branch) @set -e; \ git_version=`echo $(DEB_VERSION) | sed -e 's/^.*git\.*\([0-9t]*\)\.\(.*\)-.*$$/\2/g'`; \ cd $(LOCAL_BRANCH)/$(GIT_BRANCH_NAME); \ raw=`date --utc --date="$$(git log --pretty=fuller -n1 --date=rfc $$git_version | grep CommitDate: | sed -e 's/CommitDate:[^0-9]*//')" "+%Y-%m-%d %H:%M:%S (GMT)"`; \ git log -n1 $$git_version --format="%n%s%n%n * upstream snapshot $$raw%n + %H%n"; danfruehauf-NetworkManager-ssh-f65d65d/debian/source/000077500000000000000000000000001507335542500226775ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/debian/source/format000066400000000000000000000000141507335542500241050ustar00rootroot000000000000003.0 (quilt) danfruehauf-NetworkManager-ssh-f65d65d/debian/watch000066400000000000000000000001521507335542500224260ustar00rootroot00000000000000version=3 http://download.gnome.org/sources/NetworkManager-ssh/([\d\.]+)/NetworkManager-ssh-(.*)\.tar\.xz danfruehauf-NetworkManager-ssh-f65d65d/gnome-mime-application-x-ssh-settings.png000066400000000000000000000050431507335542500301160ustar00rootroot00000000000000‰PNG  IHDR00Wù‡gAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe< µIDATxÚìZ{LTg?303ˆ oTV ´ ¥7-º0Ö4…Fm›ÕúGwW¨‰+îã&h㺭fY]›.&Ú4­‡®‰ÙÖ&t´É†|ÀÖGY‘‡D@ðÅká1Ìì÷;3ßp¥ »k²'~ùî½Ü¹÷üÎùÇ÷]Uv»žfQÓS.O=ï‘T*Õdž“*†AŒ1ŠÅh|’J+i¯“p6//ÏÐÜÜL¥¥¥TVV&? @ÓÀßßß~ãÆ ×o1ˆb˜Fºö¿ 5--­øøñãù, æâÅ‹S¤ÔÙ{PiföYeššš„Åˆšëéã¼?±Bzÿz㭟ѲäTú¶ô<ú`/}{±„÷lâóô‘ñ ÊÿäÕT {×wýñC ­VÃ0FŽ€€€©Pûø÷†þ(ª6fa,ÝíèÕݨ®êhoÓoÛ¹GÕýÈD¿yg}}¡‚~—õ JNy™¾«kåß?=D=ÝÝ$î§W^{}üôþè(kìííe‹€V«åZ*i$˜ÜUè ¥QÏ ‹¯¯ß#ÿ€@]ìs‹u°N|ÂGTôÍi¶è®Ü<òîÇKµ}×÷#2:†DzòR{‘U€hiia02üüüxŒ•}¦TîµÜÑü-ÿ*¿ò/>Ö Ÿ+b@d(·†Ö瘿<™Oÿ(üŠü>÷/‚@$ø­æˆ‹‹yŒ:wîÜaóçÏçç—””L/š²*ÞÎü%µ·>¤ÚšJê1w ׇ°e•–ç—½ôGEÊÂc|®rÜ£ÓéxÈŒ¦üýT<`i,}ÉÔ:ïö-oφ̂÷°ö–ì Jèt>´0î9Úòó7é·9à—æ‹À1ÄK(«ñöv¥Q›3S q橯W»h#©£L¡Â¦Ñ:Ô±lÔëõ—'Ì Ÿ3›¢££9š»b)ié]ÊX­L•ܼO雿ÁŠC^~u5=Ÿ bd1®Ò¢H^äذ°0¶º¤Ž¨/|9.}ư1>>Þxúôiúºª‡Ým±XD¶¢ˆè…´íݽ|ŽöõõÑ3±q·ã=W––~wï<[Ä}\ij\-…ø§ BBBx8 ¤‹jNëO@äܹs………¢]ÐPcc5…‡‡SŸ¨f³…ƒOí¬ºH>¢Ï ›5‹[1Y‡--7{mhÀ‘F­¢ìæT*¼íÈt"”ô)..€»vúøÑ£G3Ö®]ËÅ+ÿŸõT\ÓI¡Az³M¥±Ø¬½!p± :(ÌÕ׿°¸hœvXUXÙ+)=dîµÒ’-­I `˃ÿ(h³gÏVêþMdIiX½z5™L&ê…è³sLög7¼}¯q[oÕçK’ú¼cËÞï7\Ž üp(Ócî!s™F¨A*-,Fx°/܇÷a–2žõG…^¤½½Ðõ ÁHþ\èü[V|ʯé…Ž* `´Ë#³‡ãR Úð[éXˆÈ¾;h9rrr˜“!nJjkk `ɱ@`±Q]]ÍÔÁÖ"ÚŽÖÖV^ˆoß¾MDUUïbOÕËÊÊFõh„`æÞ š ”—1ïܹ“Óîxñ€gȹ¢¢‚Μ96xºC=Z;]"òo¡tÒHH…Py€ >dê` Õƒ˖-ã”9šà¾K—.1h#£žÙ6ù2DWjª¬¬të‰yóæñ"ù×nݺŠ ¯Â¼¼Æ}9ž-×ÁPþÈ‘#°>\öÕt¸&(`X¿~½[H­à?Z)h7j•¿q'(bõõõ¬<âgß¾}àþAñ§Ì -Î=Ø^1!úéS§\MÈ÷hìÀ}ìJË^ÙI6nh8ÀE _qPQ¡8¨VSSÃ5E(Þà¤G–ŸìŽ„Q‚€Ã‡³7dl@”ÇÈJ‚†ï;3ŠÁ9WŠO²ù?Ä7²|¤¸uëÖ1¹s¦|¸~ý:+.haí”+pf,n÷<‘ÆÊáÀvA{nn®===ÝŽÖC´ßøñY1ÞsÒî‰~èvé; ¹õ_.Fž¯ÿÿ½@©¯êÿÿ[å¿,ÿ`‰³•NÃÜ×IEND®B`‚danfruehauf-NetworkManager-ssh-f65d65d/images/000077500000000000000000000000001507335542500214225ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/images/AdvancedDialog.png000066400000000000000000002515361507335542500247710ustar00rootroot00000000000000‰PNG  IHDRµX­C gAMA± üasRGBÙÉ, cHRMz&€„ú€èu0ê`:˜pœºQ< pHYs&&¢ï%ütIMEé 1Ý[v© IDATxÚìÝwxÕÞð3³}7›Þ{‡HH§7Cï( *Š ˆŠWÅK¹(×®ø^±‹(ªé:$HH%!¤÷Ò7[gæýc1¦g |?Ï}Ÿ'³3gÎ9S~sÊP¶¶¶z|BȳÏ>‹ŒxhEEEeffò !Çݼy9ðpâ8ŽèÛ†aY9ð°Ç‡,ËêÿÃÑÑÑÌÌŒŽèÿïÏÿW[[KéìOEEEÈM€ªýÐØÄ(0h°H$:N­V«Õ*µJ•”(‰;ûÚ´øP*“60F?î E:–¡§ÓjÇzŠÅb©´Ó?!>-[¶lâĉß|óÍ©S§øôPõé§ŸŠD¢+Vh4”>ü“éúÛóÓèƒENWUÓT¨öw—øZ5 hŽ#DQ™#“J9ŽËO`£"\£–¥Ê56Å5"…J§Óéô¿€ûˆ§§ç¢E‹¼¼¼4M^^Þ‘#G®^½Úá 6xxx¬^½:==ÂãñöíÛG™5kVûÍnܸÑÍÍM¥R=óÌ3jµštþ†òuïhŸ77·yóæùøøH¥Ò[·nEEEíÙ³§ÛO&“MŸ>ýÌ™3•••ú%&&&€¢(Ü+€Üwí‡Z­ŽaX>Oh-n˜3}RqµV(ˆ„"ŽãÔjµZ£ÖhÔjµÚÖLðû±èêÃr:涸ψÅâ·ß~[.—WWWB ' Û/l Î²¬þjOQiñ–±%{{{}p(‹/]ºD:y7ÉqÜ?äÞÑaz¼½½?üðC‘H¤P(ª««mmmçÎëëë»víÚ®“=|øðÇ<11±¼¼\¿dÉ’%E1 ƒZ÷ßü4:VÇè´ª:šRkÙçþû«@jn$hVHk<­ˆ–ág•Ô®ÿ×$u“¢¦ºI§³aïDî/îîîr¹<''çµ×^ã8ÎÁÁ¡¾¾¾Ã…ÍWøæ¶–KÚlvĈ„ÇÏ;wĈQQQú対úª½½ýõë×õÁ'Çq_}õ•³³óªU«ÒÒÒ!«V­9rä×_}âĉaÆ͜9ÓÙÙ™¢¨7nlÞ¼¹¬¬Œ²gÏžøøø¤¤¤¹sçJ$’ØØØ¯¿þZ¥RBŒ/^*Š‹‹¿úꫬ¬,¹\¾téÒ—œœüý÷ßWTTt–ž–‡³dÉ‘HtñâÅM›6i4''§>úhÀ€£F:wîœ>%yyyÇŽ{æ™gÄbñáÇ·oß>jÔ¨gžy†²~ýzBÈ;ï¼·k×.±Xüè£j4##£%K–„…… ‚ÔÔÔ~ø¡¸¸¸ëãš3gΔ)SÌÍÍkkk/_¾üÃ? ö<´Úßžþyè_¹å¿ i?Ôöw±xm~à­¢ Ëð…™¹‹…´º^ídª]ôˆ¥µó÷»ÏñyŸÈ0Ldd$˲R©ÔÌÌ,66ÖÜÜ<$$D*•®ZµJ¿‹ÐÐÐàààÌÌL1cÆîÚµ‹òÖ[oùøøTVV¹»»WUU±,»víÚFEEiµÚ1cÆX[[/_¾\‹¶OOóá÷ïß_ÕiùùùÇ_°`AXXØ™3gÈŸmŒNNNùùùÞÞÞ?þxFF†‘‘‘F£‘Éd111µµµåååÍÛÔ·¾¾ù曬¬¬¬®® rss{ñÅ;;.ÿgŸ}¶®®îÂ… ÎÎÎVVV¸ái× ¦áe‡?ü+>lllÔß‹‹‹ÏŸ>£y «ct:B(+~€mýMžˆ™)XyР³ËË„ª©®º(ír~*SVR¦ÿ-Ü/òóó80kÖ¬Ï>ûìâÅ‹ßÿ}yyy‡ ›o!6lh³‘6'''WW׌ŒŒ²²²˜˜˜iÓ¦œ;wÎ×××ÞÞ¾ººúÙgŸU*•Ÿ}ö™ŸŸŸV«=yò¤>>üæ›oõa•~ØÞáÇ:DQÇ;xð`ÿþýµZ­¾‹&ŸÏ_¿~ý©S§¦NºbÅ OOO•JåíííããSUU¥ô(‹U*•§§çÀ³²²¾ýö[Bˆ‘‘QHHˆƒƒƒH$ê0=͇ãèèHQT}}}IIIóÑeffB¬¬¬šW£iúƒ>ˆ‰‰™?þÒ¥KGýÞ{ï 6ÌÌÌlûöí)))mòÊÅÅEê¹nݺ1cÆŒ5jÿþý—H$"„TVVnÞ¼ùÖ­[@«Õ¢ö<Ìž|òÉæoß¾ÝÀ@ìÉ'ŸÜ¾}{‡iI?ÌžO¹yó¦þ ‡––æî|>?//O«chB\͵sÆùæVH&e D­Ñ̘2qï¾="±ÈÍÍ•eÙâÂb}÷¸¬Y³æüùó¯½öÚèÑ£ƒƒƒŸzê©´´´êc’üü|¥R©ÿ­¾y­ÍÅ_?]ÍÙ³g‹‹‹=:mÚ´°°°mÛ¶éè®\¹¢±.^¼èççW[[›’’2pà@‘HäïïOÙ·oŸ~›óçÏ_´h‘£££@ Ðo¼ªªª©©Iÿ^óðá÷nÝJHHЇUÅÅÅAAA„¤¤¤œœœæôèzzz¶¼#B„Ba‡éi>333}TÜòõ+Ã0ú…ú”œ9s¦¾¾þܹsK—.533+..ÖßY«ªªš«_³¤¤ÄÏϯOäùóçõMšÅÅÅ×Ñ£G-Z¤?„?þøcãÆ555¨º³67ßÞbýJmò[.²µ·•ɤ©„. 9V;:ÀÎÁH-KÆ’Н t573åñøMMM4M™˜™jT*;»¤¤ë(*€ûΉ'N:µvíÚ'Ÿ|òÕW_]¶lYg !«V­JJJ"„ðx¼ÔÔÔö[›4i!dÙ²eÍ?5j”L&k3X±åL-G8pàØ±cÇŽ«V«OŸ>Mñ÷÷÷ÝwëêêÖ¬YSPPðÓO?Éåò–;ÒwÈlÙ1†¦iòç[Ï6âããúé§æÿLII:thgéiy×455µ±±ižf¦_¿~„¢¢¢–kòù|Bˆ¾•OÿoÒå·.ô¹Gþœ"¨MšÛW}}ý£>ºdÉ’§žzjÞ¼y~~~³gÏÆ˜€ûÝùóçÛ,3f̽ܣþeg+·ºŸ>yæôÉ3„G'c¹ñè¦jææÍT›±ãG‰ÄZ­Že9¡Pp=9õà‡ !„BÜg  ‹ããㆹxñâ“O>illÜáB7èáá¡ÿ*F~~¾~‰­­­\.7nœ>¦ ‰Djµ:00°ùWÇŽ[µjUxx¸ƒƒÃÉ“' ù³qòüùóG566–J¥Ýî½  €bll\__offÆ0Œ¾yÐÁÁ!**JÿBÔÌ̬¦¦Fþu˜½ššš¤¤$ÿÕ«Wÿç?ÿQ«Õîîî , „è'§iÖœNGiÐêݸqCýJ¥Ò¦¦¦!C†B²³³»8.©TªP(6mÚ´mÛ¶ˆˆˆþýû[XXTUU¡ ¶ì}LØíøú—šÎ7p;Úk¨WÄ\32’9:Û ø¼Ô)ÁÁjµºº¶†"Ü!Cããâs²s9Ž£Hóoàþàëëûþûï+в²2'''BÈ™3g:\Ø|…o¾S´\Ò¼Á)S¦BNž<¹råJý’Å‹¯\¹rÊ”)Ë—/ÏÏÏwqq9|ø°B¡ðôôlþyEEE\\œ¾ê±cÇôÔÇo#FŒx饗FŽ©olqŸºýï–ÿ™œœœ““ãîî~òäÉÂÂB//¯… ¦¤¤\¾|yèСHJJ²±±qrr ONNî,=͇óÉ'ŸlݺuÊ”)£Fª®®vppÐÏ€ªÙ¼Úúõë-Z¤ï8zäÈŠ¢ ‡úá‡æååýúë¯'OžlÞxffæ™3gyä‘'N444xxxTUUs2*òbaa¡‘TúòËË'MžÈãñðM'€ûNrrrTT˲...¥¥¥6lغuk‡ Ü ¾s©¾ƒ¨ž>41b„L&{ã7233­¬¬ŠŠŠV¯^Ýò‡GåñxMMM.\Ð/‰ŽŽÞ±c‡T*]´hQrr²!_t`fÙ²e/^ …ýúõKJJ*--%„üë_ÿÚ¹s§‘‘Ñ”)SÜÜÜ"""ôwº.Ò£—ðÄOœ={–eY{{ûÒÒÒ­[·.^¼¸å-O§ÓmÚ´ÉÙÙ¹¡¡aãÆúyM7oÞœ˜˜(“Éìììôû[Z½zõîÝ» !VVV‘‘‘O=õTSSSÇ•››«P(ÂÃÃ'L˜ÿÒK/áž wekkÛþ6&‰b®™¹9EÓ4M«Uj#¹L©TQ„ðùüÿwwªÊª 7\8wc!à¡/‘Hüýý;ôp?R©TÇñ;lX46‘ûûvttd†#„GÓ„"2™Œp¤¾¾¾¼¼œGóär7Ï„¸Äºº:ä&〸âC@|ø÷Ð%nZòÔôoî.d‘pŸâßͨ©6#&êBlòœâÒj…JËñÅ23+[gw/¿ÁÁÃ<-… àÁŽÙê”Ãßl>S¦æ!O$•‹YUSCy~]Y~zÌ…ØÊ·?yÎG€x€ãC¦"ê»7¿½\¦#F.ÃfÎàagħ!¬º¦4ïFrÂÕ"Û©ý<Ðñ¡.ÿèÿ}¹LÇw÷ÒÛKB­[î™9ôîÐo82à¹Ú »g¨‰ØgÞšçB­yÿP[•xòðÁȤôâj%+2µ÷1ñ±Iv¢ÖÓÀ¼ðéy‹G?ÿxšôÆé=G£“sË*‘©­·ÿˆYs& ¶ä÷~³Vs¿øh¦MeÂþÝN'ÜÒ<ñÎûSíh¦>;6êÜÕÄë™…¥5 --6µv>wF¨“ã'ñagáauìÙ$%G›yô'ƒƒCN‘¾cýg¿g(ˆÈÌÙµ¿1ÕPœ›rj{Ê¥+Ó×¾9ÏϨUÆ”ç]>òÙÑ×Åæö¶v.òº’₸Ó;ã³^ÿð•ÑTï6ËÖÕTäŸÜòÑo õO$ó©± MHSÜoë6F7ž‘µ‹×7º©,3;íÜÞ´kéOÿoíª >ìˆ:#-CÇÑÆƒ†øˆ Ž®þüÕïMæAO¿ùòxOEaëÓÿì³7ŽlÚáóåR?iËÕ•×vì4 \°îÕiýÌx„¢.½ôõGߟ/Ýq,{øBO~ï6[—òóÊŒ‡½ðú¼p Ų,M‘ú‡Ï›ìd=vl¨‹œO!\}ÊŽuÏI=|(mì‹1оØ[UV©ãmëà`pàÉŸÝUCL†½ðgG¡ûÍ]2É•ÇV^:ÓÀµþeüÄk3n‡„‘ݰE3(¶"=½’ëåf9]i:ôõu˦°Q„šÖç¨ß¬E3†Ý !”±ïôi¾|Š­ÏÉ­æPƒ€ ý°œZ­æ¡ÅIë?èÒ~}á݈Š_-ûuõHáÊò" kÕá“gçÕϘʩËÍ(bÇø´èÇI }‡˜¶Z—2vt4£®W6Ô׳ĎGHo6Ë÷žì rŠ„”>Ll»‰‰‰‰†%„VÓØ dþüS\TÊ®1ò³Ç";ÜdS£¢uF›;Ø´í¼Jñy|Іa{½YÊÂÇÛ²‹æTN«¬oTjt,G˜ MAã! >ì mniNS¹ºò’R†´ü²ßkîgßÏ%úŽŸßY¾=ûÏ¿°Ê&5K(™ÃGY‡!§§Y›¨M(î~âОo–’H¥lVS‘|üð鋉7s+š´\Ë ‡€ø°swO:.³þFB.ãïeHE‰DŠ0R¿Ù+Ÿõ1,5uW6KÚoV}ð¿ì¹ÑÄ3÷ 6ÎÛÙÊX*âÑ„-<»u[œµvж êº/+»ìô‘˜Y¯ 5`4ÏÎÁ†Grkrr+9»>û `_l–«½øûÁ4e1üÅÏ^bþWs##Mþ Uæ/ír{ög 1£¸º+¿n8’§ä øA@€#b²Î½©êËtÜùfÙª¢2-G‰ 2o™O\M~AâîQÆ¡O¾n/$õ‰ÛÞýÓ=çÒÊ™1—º¶¼FÕjŸË#ó‡˜RLé‘Ï?ß™P¡nþÛT’¹÷ÔME¯B±>Ø,mjiÊ£ˆ¦¨ L÷×RUÞ©_÷¥kAÿÒn#Äà%kß2þvÓÁű>‹=HñDƦr1cÔŠºz•~–—¿Æ&R¦ÃŸ{µ¤nãŽÔë;Ö¯Øglco!¥´ŠêŠª:5Ã÷_Þ¿WɸãÍR#&…ìK¿œ½÷ãUEÃC])Eeöõ¸øJÛIô?q:µv‡6 ˜ÿŸïF]?{.:&%+·´º¾¦ªð©©½£«×Ÿ~¾ƒIÿú  ×¼·ÖD€ ßÀõÛ!Afõ¡½O(‘ @Ð~ˆ€ÜýK«ÊK;YÓ™Õ‡:Ïg€F|8dd‡ëÅ A^õ-dÜcµ·ª*ÊŠ›,Ë"7îS4MKeFÖv¦æ–È ¸sñW"{3? Ü׊ r««*ì]ܽhï!̆ºZ¹‰éý¾#–aê‹ós În¨Ø@þ–ùKàþU[]U]Yáå3ÇÇ)£y<S3##yfZŠÌHŽVDÀü4Ð3¥ÅvNÎ<>ßÎѹ¢´Yˆ gšrcäÃDnlÒÔ¤@>âCè–eiš‡|xÀ:š² ƒ|〸âC@|w¿ë9s³n–—iÔª.VŠÄ¶öN®žýhºu´Éd|ýä¢Í9¢)ÿññaG;(þméüO“¨±ïG|>IŠÂø§`j¾R¦¥í‡=9ÙGFµú#§®ÊHJNË/»Õ¨fi‘ÜÒÞsÀ`7SAgWEa칋‰e³€YtðRŠSßÊ»™šUPRQÓ f_lbaçÚo¿‡…¨õ®YeUNFzV~Yem£RËP|±ÌÄÂÁ­¿ÿ—Nw}æe¥756 %‹»XM­R¥§&æe¥»{û C;x8®Üÿâì/Í?è$HÆñÂ?.?u‰®•i;ü×TpñØÙ´Z†ðÄÆ&f¢¶4ûZYA¾ßøi!v¢ö«—$œ9—T¬d;ë­ ­ÎŒ¾xõf•š#´@jdb&`•õ5¥ÙÕ¥yYE£fŒv7º"2·Ò.œŠÉ­ÕB drKSšQÕ×V¥UeåúO™lwßÖ¸‚‚Bˆ³³3*<üsãò’ !#» !"±¸Ÿ¯Ü•Hć>N×^JÒ±8^¸OòSSw.©ZlmE*+›ÚþQ™s%êf-+²ÚdU•içO_Í«º™ìúX°%zÌ»4þP£V‰ÄC¶"KºîƒúðÒ•Ÿ= ÂñÂý’ŸªÂè‹7jE.!­©öÑj}Öõ|%Ç· è Õ_=h©Ýà±Áö®139«k^W[tåÈ‘Ø"•‘ûÈi“ƒ¬x^=B§Í™óèø@ÛÁ!!„oâ6¼ŸœâÔ…y¥šæ5íBçÌŠøßT£ÖóùÿŽY¡ö]¾ÿÇ….t·©õÓEmzgÓØGȱ•#é öÞñÏfS-³cÇñèÄì’Z-³t:î±§æ=âÖzÌ—6úíÉo±y~÷¯ ‘;¾ßu&>³¨R-´rõ3ëÙæ 2£Õ…Q{Ù•RpKIÉí¼BÇ/xqÑXQ7™ÁT_ÿcë¯û/&çT5ñŒíû‡„?þìSá–^›üNtЛ§>ŸnÚœ]MÚ…ãGÏFǦdV5hh‰¹½wð¸GŸ[8Î]JŸ5àx»*8Íåg¿´¿ÚzÞ×GVþ5šŒ¹ùå‚Å[rYaЇ¾™kGÿ¬]5óÍóZ¿Wwýü”#Ým Ùâm/<þiçûòößžqiójD›´iöÒEâáïìß0Ë¢]d¤~{ò‡­žÝµm‘ôòŽï¶¿œVRLjÌ|†M^ðÜüaŽ¢«™Á%kÿžŸ9”FýòÝÖÑ™*Ñàå?¼móÇ{ç'×ûÅ¿Öí*´˜´fãºpë¾i7ãš²££ÒÅîc†zŠ®¶û{SqQ%CøN^ò–AÉݽcŠs+ò š||oŸÀÖ»Ÿ‹‚4ÂÏNÌUd±]¼¥’™ÈÛ-ä™™›Ð¤Q*5R]$š!ˆ ÀøP“¹cùK_ÆÖ±¥[??WZQUR\”t1'9W6lÒ`›ÛqAâ·+VþÜ@I¬<ú ö¦êòÒ¯øêÚ©³ ?ÿòÅ㮞%¹º¸¯^_óSJ=Kh±©µ [_™ŸZZ"ñÕÇ©dÔDƒ‡7EK©¡B&ÛQ„Â÷tP&&þ›«¼^ÏR '·þ2¦¶(÷Ê¡ï®D¼vã{SœÚ̸Á§Ÿúù]›4.nÎ²Š¼ÜŒK;ÿïZ|ù†Õ²-¯}›Ô$³qst7Q”ä$ßr=&kÝöO¦Øu:0Å'Ö¾ô~D‰Žä¶ÎætCÖ™Wž||±O¾®íó¶"jã²µµߨÁk@¿± %5þè–„¨¤¿~9וǩº=Þn Nè ûãTeB|.èýg[“YÀB´©—.×<6§9xÓ¤Ä$«8žkXðíCì.…ö“f„|“t)-âdÖSÏ{·jÐÒ$Ÿ>WÂRFC&1ï´"°%™§~^ñûækJcW7/‹úâÜì˜?¾¼v.êùMŸ=;؈jQÍzV²\ueiÆïÿ{uãå—È$|Fnf¦é2?™Œ ÇnÔ4±µGO&­ /郓kȈŠÌUɽÃGzH©"®]ÄÅVWÕ°„¶°¶lûFhicFçVÜ*¿ÅúÊnç,ßbЄðÛ[æ×ÃøÓ¨Ô!´D"ìúÌdkof–1„6··3¢pIx âCeÔo[¯Õñ½ŸÜ´ù•@Súö(¦òWÔ>ƒ„·dûlÝ–äF«‘+6¾ý˜¯1MakX³ò»øßÖ}¸oíY§’UÇ>zë§ë ×É+ÿûÊÌABBˆ®¡ 5SífK÷qjyô´×ßžR°uÉ…”á ¹«Þi3¿[ubý›[’ÄÞ¾óá+\%!Dw+~燫¿Ž>þÑ›Nn[^òiõNqþû-“Þܶnº‡Œ"„­‹ÿöõ—~?d | IDATIÍØ¶b‘ú/ùêãgƒ­„MÉé—¾u¼0ò×}—÷ï¤k[ôûŸD”°²O~ôá £íE„¶>óІ7?ú怚#m&û ™óÜ<»3Çx™òõæ±_.}mgzܯ;âg® zt}¼œtp¨¿ðô¥üøø[¬÷í&16ÿRT6+ë×ß<+=)2¦~öd} Ëˆ‹¯eyÖÁa<Sh1fú¨/.Ï9yôÆ"ïA‚–áaÄùr†65e¸)ÕEëÚŶ؇¯ÜúÖSšÂT'þöŸÕß_IÜòæ·~{VK{[²luÌçÿ=\d:qÍÇ/Î °S,ËÒ4ÝU~ÒŽý¼è²±×·>™–…­M=wµHc2`|˜“˜¶ƒˆNݨÐp„’Éem3‰’Ée4!Ú†z%Gú"Lã ŠjX·w°éd^RN§VÔVÞLJ¸Q¦ÛŽö³ÀàCò@}ÿ­¯¨P²”Ä+ÀÇ´9i”ØÆwô¤À?Ã…¼?DTræ×¼=WcBh³ÁÏ­ZàÍgË"öŸ¯ë´¡‚ÉØûã…jN8à…OÞš« !|¹³ —1u7RÛ&sÿ–sÕœÐ÷ùÞ˜¨!!|‹À§Þ{w†-­ÎرõlMÛC¡-&½þÖ Ûç´IàâgÃMhN§¥ü¿ûœ>8$„íÇ-]àÇ'Lñõ5e‡.uÿŽø&"´ì½åúàB{ÍZûÖ|çŽBJñà…o<~;ô"„ЦÁO/PlÍÍô ¶ÛÜ2 à(ÓÀ°~|N{36±©¹Í.*2‹ôŸþxˆ¥¼×ü‡¢ø„––…ú M!%:sœ%)Š8ž¬n÷ÄŸ:WÁÒ£§‡Éº>_,'¿ñÎcÍÅÍ3ü̇¯Œ0¦˜âc{/Ôs½.YN[­÷Á7ÿ}<ÐFLBÚ~,¦ƒ¤ØLÿlßî=»÷ý´È“wç§žîVÂ…¸RÖ<`t°ƒ°Ó&=µš#„'´ß!- (BÔjuŸôóTæÇ'–é(¹ç`¶±(Spqë–¿ÛòÓ–ßv︜¥± 3cþ”Á6‚>˜DÔ@}¾£®—<¬ñ!mîãcËcëO}ñá΄JM‡ßL¼•©#F¡ã†µŽèxΙҜ*=%‡é,BÉ¿r%Ÿ¡þÓf¸ñïIj» —ò/Gç1”ÀÊ4—ÖOÛ”QØÌñN<®1&2VÙúG”8`X`«A‘"'w{š¾ÏÈá­ú‘Ò–®ÎF4aëjë¹Îⵘk%,%ôŸ<Ù±u5 igPÈAÉœÍiÂ*Šî¢Ã ޶ uæqʤ¸úüdË£/ÜÔÑ.a#Ce¤ñÚ¥8åíÖÈø¸,†„ù‹{BqÈô‰N<¶üÜñ˜¿òVs*²Š¥í™ÔõøUJ::¸õ TÊrìä¡2ŠkJŽKÓÝAÉ ÎnlÀ¦ÎÞnæ¢>¨ÊÚÒø ñU”màè@«.N –á¡(šîàeŠ~!˰wž¦6íì¥leì3,ȱ]ÔG‰äVÖVÖV–¦FbQUç&^ŠJ*j`q= XÿRßâ·_ÎXóuì©õ/\ø¡ÿÈ3gÌœê&o~nfòr ÂÕ_v¼Ã'ø†ºNŸuÅùE ¡l<=̨{“Ú.èŠòŠBY{x˜·[çæíÁ§òÔy¥,ñhñgÊÂÁ®M#(BÑÖ¶Vm6ÃãóáX†å:Ë‚b†P6îízTòœ\y¤¨Ó(A£¨«W¨´,GtõjJ?¼¬Ûg~à NèdýSvEb|6êÃãn]޼®¥ìBÂÜåNÃK".]½x]3*TH”I1©"ÔAoÆ.RÈ0uš÷ίÓ/½Ü0bœœ"„4]‹ˆªayÎ'ꦣ&miß¾•JâîíÈ‹Hk()käˆÕË’µñ÷³ý»ÞÖ¨‹bÎ§Ô †hÖå{šGÂqlGuJ¿æñî¸AÖ¹W U"‡ÐG†u4ßm0mFÀŸk«nÜŒ¹š˜wª²ñ‘Ù#ïdæ=ûü`ûáû‡ðpć=Ã(ù %_îunÏ/;ÿ8™|fkÚÙ_¾p:géŠç'xJ)B˜&…’%´‘[P˜[GÜ(±o§Ÿ@c›šÔ¡¤2I_McÑ]j»z V*Õ¡dF­Ç—ÈD„4*M­¿*NK:I;Ïïé1±J¥¦“Ü $RIû !Õ%W~ß¶ïDtBFi£¦U„`HH`hÁ |Bƒ÷.Œ«`}lë.E^×PÖ#GöçSü!à £®EG¥iCýIZ\B#ÇëÒ¢¸ J!í2mšÿ7ã#]ª;ÉŒ"Š«§"kY¾ç„)ý»;(¾ ƒ|–I)B8ZÃBõ²dõã÷þʼ¨Èôz±ë¸‘ýŒ»N%‹(Bµ†iWè¬F­åÑ÷2½“àðìñÈ,…À6 | óî/O´ØÂuðDcòǸÊÌÄt?§Á&˜£àŸRB‰"œN©ÔÒaÃŒªIÉJ ·N-÷zdñ,Z•{åè¾ÛÅ^ÚöNRrÙ–oŸñÒb±ˆ":yèâÿûw`SO‹DŠè”JUï†H±Z®ƒ­v‘Ú®#•Š(¢hR(;HŒN©PBK¤úNî.ž¬Åæ†N×ö@U7~^öÊ÷ 1<æB‚в˜<ÆOH±:Ü—›tùR3P—PÉòC‚›¿Sap iÛðéþ?sülÕÄG­ѧ¢ë9ÁÀI<èîcêF%Û®WvScG-’ˆ©Þ—ìß…«IOÊVpDPsø÷˜V½ZÍ®lÔ`¡>°2Ò‹Ç]‰Î­LL,`i³Ð0/^ÏSH™š9Ê”R%D\¨d±gcœÐoêx‡îóš«*,jõ)s2 B›:ÚégRùÛK¶gñ!˲„N«lhllõ?¥–#„0jEccC£BÅBh k ak+«Tm6£­ª¨a mbaÚËãbê2΋Ên9†LšÒ“àPvkµºpWâC¡H¬V) ÙŠZ¥ŠÚ5¦Ù’¿í &P§ïù=ZÉñ\FŽvë*b·©ÓE§ª®Vr„v>ÜOéRíJjêiDälKsš„cÇ ˜Îã]KŒ‡ ö<…„Ù°éá6”&ñü¥‚Ø Ñ œ$xr¸ mÈ7ù"cZÏËU;ÝÄÑòÁ!·»§ömÉv–Ÿ„Â4”å×iïì `8{ésK–µûßÒIÞbŠÐöÃ.Y²lÉ‚‘v4!Dìàê º’ÌìV/¸Æœ¬"-¡Íœœ©^MH“~úØ¥…Øeè¤I~–=ˆT[ž_¨äÏÜÊ"À]‹­íÒS“º Õ*ezj’µC»¿P¦c—,ò•r5Q-_ûSTNíŸO²ÚšŒ“_¿±|Kš†²™¼l^?Þ_MŠq‡öœ½YÕòÛª¼ãGâÕmíéaLÂózté8 ŠÉß¹vÍwÑÅuŽd bþ´?¡±ó¶Aÿc eDüíþw,»ñϨHW—-2¥úöJ|û (&ëÈÞk-"Má±Ï¸Öº+¦©%´¹‹£ŒætñÇŽçiÚL³_œjGk®÷æÆÓ…ªæX©{ß}{ +tŸ÷Ì8ó»9–J8xö\iŠùêýmÉuÍ™q+ö‡·¤h¸Öó²ØXð)¢ÎÍ*l(3÷oØšÔfÍN×ð‚£CBìh&?r_L)'ØKñÜfûŽÌŒFJø×Ì«=Háí]LŸÚÿ—¯.>ËÓIÓF6«‰ÀwêTæü†Eã·ºx9›óŠ2²+šXJî·øýç[”V_–l§ùÉݼYÏrœ2=5GC<$÷êŠa4:¨*âZYâáÝ7MŒ„LcMŠ!<¯á#<{>ø«½~ñr^K¨¦ÂË·^îhÒØÀé3ýL)¢­/¼‘šžz™âKäÆr‰€æ´Mõõ *Gh‰]Àøan’ûöBŒ™Kà>ˆEb±³»·“×åç (ŠB¡°“΂£ÖnÝ~hϾ3W’2‹**Ê)¡ÌÂÕo`ðèsgvmýñkÚtÔ¢W LÎ_MÉÎN.Leh±±µKДÓr¼wó䊔|Ðs_ízbÏΣ¯Ý,ÈJ/&™…ýÀGÂF†OiJu=(rìÛ?»Ù»sïé«×s‹r4´ÄÔÚgÄ}>’‡¾öã·®?ürøbräžëŒÄÌÚÁ3hÉÿ>1øÆ¦ÆEö0µ¢AK¿Ú ýbË‘Ké9‰I ç±æÍ]q¥ýžøß¯þÇwþzèB\æÍ ÏÈÒeÈ´Óæ?>¹»¹$û„Ðmög¿¸ìÙºí`ÔõÜ䄹µGÀ¼÷?3:ë½#Zå/|ÝO"÷Í;O^ŽÞûý"1³ïŠñáÃNså§7ŸH,lükþK¶1ëÀ‡ïlËe(yØÌGlÌúÁ5¥ÿ¾þë« Úzâs3œpnç§WŸqâëo}C‹LííÌ„l}qv~•Š%BÇ)«þ=ÝêÁ ¸ºSÿ·jW>OSžu£°Ž¸<¶æå‘ƘÕñ!AðÂÿ¼l›’™WRšU¦bh‘ÜÊkHШ™ÏŸè-ðÖØÆ¢”øj-_î0xê¼_y2Àì!‰išf†æñPéœÊŒ‚ùK ç2R“Ì­lLLÍæ/}PvTW[]]Yáíëê ó—€á¬íÊK F‡¬x00Œ®¬¸ÈÆÎYóÓ@˜š[šš[fÞH©«©fr?G†L]muÖÍf–&æÈ =åàì&3’W”ä"D¼Ñ<žTfääâŽà¹ÃVDäô/〸âC ˜¿àT{«ª¢¬¸IÑȲ,rã>EÓ´Tfdmç€9¥ñ!ôRqAnuU…£³‹»Íã=„9ÐPW+71½ßwÄ2LCC}q~®¢±ÁÁÙ @ÏÔVWUWVxù äñq﾿Ñ<ž‰©™‘‘<3-Ef$G+"`ü!ôLEi±“3‚ÃÏ·st®(-FVâCè™&E£ÜØùð ‘›45)€øz†eYšæ!°Ž¦,à ñ! >〸ÜmÚè·Ã‡ú}zs6{ߤY“ºyɤá3×(fQ€÷·»Q”|õ@ýøGâw=UZnÖÍò’"ZÕÅjB‘ØÖÞÉÕ³M·Ž6™Œ¯Ÿ\´9G4åÿ">#ìhÅ¿-ÿi5öýˆÏ'IQp—©O® _yFCe4rÝá SÍ©ÎVŒùàÑW÷”³„ߨóããvwã= [s#&­¦Q“¥›å ¼ïs—-Û±ì±O´Ý¬& yëÀ—s­¨©bÝ¢ü›«ÇÝ¿z÷Ér ×>}îõí¥ÞËüö9/áã=ªÀæ™=Í®þʇϬØW7xÅ–M Ýw½N* cÏ]L,Ó˜Ìx,Ȣ݌«I<´çZU¡9m2{fY«ŒãÔUIÉiùe·Õ,-’[Ú{ìïfÚþ0 _îËø0/+½©±!hÈ(‘XÜÕC·J•žš˜—•îîíƒ íà>]¹ÿÅÙ_šÐÉcÒö7à1ÇN•OžoÛqÜ×xùØéʻަA[‡/{)Ïá–Ï“¡Fæó¤fVÖV=^³êº[õ"”[˜ˆÿÊh©ä›ŸÿnåW= :Àž]‘¸Æ+ß|¼3—x/Yõ´—ðŽÏñ»[)ã°WVLŽü÷ѯ?Ø1äûg¼îbÀÄ5•$œ9—T¬d;ï"Ä©T*ŽžP"ls8”X@·Ù\ÁÅcgÓj›˜ tŠÚÒìkeù~㧅؉zµæƒª  €âììŒ'x`ãò’ !#» !"±¸Ÿ¯Ü•HćÞ†k¯F%iÈX¤íŸòXjëÛO{ófÒá“EsŸvîà鉫9äb-±àä§ÕÝÅ”PfÁO­ ~p2ÖjÖ'Ìj‘Uûÿ5ùãÎÙί³~°{²ß¢|Àª‡Aس+’6}ÇÆƒÅœåÔ—ŸðÞù9Þ£ Ü›ïÕQ&×<xf}Üo›ŽMþbæÝ9'8Uiò…ÓqEM|K7GM~Qc§ë)Õ¸šîÚu¼«Ì¹u³–Ùž0.ÀAJÂ6•&>P’|ñŠíìÑNž¯ ÷íøCZ%K ÙŠH,éºêÃKW~öt‚ iû'0îJ{ãø‰ÌŽòØò3¯4ÑnÆ{²*0À?óŠÄ5\ض?SK{Îz|„œº?ÎqÚ~ú‚±æTCôö½iÚ»±mÑ•#Gb‹TFî#§M²ê"ðÓ¨Ô,¡ÄRq7=½¹ú¬ëùJŽo2:ÐAª` ¥vƒÇÛ ¸ÆÌ䬮Çk¹Ûÿ.êÒ˜}Û÷ž¸’š]Z£ä„rs;·þ~a£&Ï™4ئùý£¦ìò¾_·¾ž[ÙÈJ,\|†Mœ¿dþ'±!÷ÐʸC;wG\ŠÏ,©ÑL,­íœû™½ä¥qN³¨R-´rõ3ëÙæ 2£Õ…Q{Ù•RpKIÉí¼BÇ/xqÑX—Žûô°Åg»J[Ï2᯴=%‹Û÷ãΓ1éeuŒÄÂÉwȤ…‹ç µtt ¬|çeÝQýb½&Mvß÷}NÄá”gûù·Ù›âh‚†ï;u’Sú¾žgt5iŽ=›’UXÕ ¡%æöÞÁã}ná8w)Ea+O®~úí“ÕÆ£ÞüeÓŒÛØŠ#kž^w®Î|ÜÛ;>ždCßΊ ¯—·ý¼Ôƒî“RîmÁõI¥êÉdB“ß8bÿžŸ9”FýòÝÖÑ™*Ñàå?n^àLw—ý¨EÝ\Rî<Ú¥×1CRÕf›½ºb|¢õÉ4Q=¼üy€¤ë+R‡M€"k9ÁÀi“=x}{ŽßM²!SíNìÎ8”øœoˆÂ5Ä~ñ¯u» -&­Ù¸.ü¶Þý\ì ~vb®"«óNòœZ©â%–Hº‰›Š‹*Âwòòh„Srw/ǘâÜŠü‚&_Õ£5ñaÏh2w,éËØ:"¶tëççJ+ªJŠ‹’.æ$çʆMlsû=eâ·+VþÜ@I¬<ú ö¦êòÒ¯øêÚ©³ ?ÿòÅã®î@\]ÜW¯¯ù)¥ž%´ØÔÚ΄­¯ÌO--‘ŒxêãÔ2j"ŽÁۢΥÔÐN!“ƒí(Bá{º¨?ÿÍŠÕ?^¯g)‰…“[S[”{åÐwW"ŽN^»ñ½)Nmžk˜âôS?¿±ks‚ÆÂÅÍÙCV‘—›qiçÿ]‹/ß°Z¶åµo“šd6nŽî&Š’œ‚¤ã[®Çd­ÛþÉ”Ž&WáTÝ¥­§˜âô3ÛVîþæjÔÚÅÉÅÓäVA^æ¥?2¯D¥~°õƒ)6tïV¾“²î¤è´œÇÔÉýú*íäÑøåþa­ÂL]Æ‘ãé:QÐŒ vºëºöÏŽŠ¨ËÖFÔr|c¯A>üÆ‚”Ôø£[¢’Vüúå\W¡­Æ¯Y¼úxÔŸü¼áQ{úv‹Å‰O7\¨¡l&¯]=цî&'û¨” -¸{¹»¿Ê¡º²4ã÷ÿ½ºñr áKd>#73§ ÈážÖ"C.)}žÝîÔÀTµ»|õøŠaøYÙWzµÓž^‘¸º+ã”Ïgä(ºoÏñ»Kè7f¨ùž#ÓV†øó a2.»QÓÄÖ=™´*|¼äïèƒ&„ßÎŽpé²{i÷í‡luU Kh k˶¯ã„–6ftnÅ­ò[¬¯Œ×“5ñaÏ(£~Ûz­Žïýä¦Í¯šÒ·ïdå7®&¨} oQ9÷Ùº-ÉV#Wl|û1_cšÂÖ$þ°fåwñ¿­û*pßÚ!²NovUÇ>zë§ë ×É+ÿûÊÌABBˆ®¡ 5SífK÷qjyô´×ßžR°uÉ…”á ¹«Þi3ã[ubý›[’ÄÞ¾óá+\%!Dw+~燫¿Ž>þÑ›Nn[^ò¶žráü÷[&½¹mÝtE[ÿíë/ý’š±mÅ2"õ_òÕÇÏ[ !š’Ó/}ëxaä¯û2&.ïßþ–Ìóè:m½™òåü·ßXù»wŸlÉ'„Uá‰÷ÿõþÑ¢sßîº1áÕü^¬|'eÝùÃÐN¦l¾qíü±è…kÑΦN:z,•šnÅ]Ò‘Ž^ÿÏynž‡ÝŒ™c¼Lù„ÂÖÆ~¹ôµéq¿îˆŸ¹6DHe1úõ·f$¿zðʦõÃ>ŸíH¶"bý¦ÈÊ~öš×Ç™SÝæd•²¡w/w×âÁ3æóÿ.2¸æãg؈)–eiÃr¸GµÈ€KJßçC·;54Uw~Å0ü¬$}6ûS/vÚÓ+’65þºŠ£œè>>Çïv€8(h øàùФÄBÖß&´c?o#º¬Aì5ÀíÞÏãÔ*GHCNì…|…R¥e(ÄØÌÚÑÝÃÍRÒ"GÕ G(™¼]Ã%“ËhB´ õJŽQ=X¾Ø£gÆúŠ %KI¼|L鿦S³ñ=)ðvÇ6ïÀ•œùÄ5oÏÕ „Úlðs«xóÙ²ˆýçë¸Îçlßûã…jN8à…OÞš« &1ý‰ IDAT!|¹³ W/Z¢ Hm˜Ìý[ÎUsBßç?xc¢ëŸ½|øO½÷î [Z±cëÙ®ÝÔã“^k†Çí;0m¸øÙpšÓi)¿Åï>§~%„íÇ-]àÇ'Lñõ5÷ê9m<ú•÷Þ~"$„ˆ&¾þt bK“’JÙÞ¬|'eÝÅ“ÇÚæ‘é¡R®6êpdËüiºrät1=u¤ÝÉ«wñà…o<~;t!„ЦÁO/PlÍÍô öÏy(F¼ºvž3]õëö±lùÑÿm:_C;?úŸÃM ¨g÷¸”ÿžJÅi ²•ã>øæ¿Úˆ)BÈŸßÇ1$‡ ¯E=8Iû.ºÝi¯.½»bôä¬ü[.½ü˜JFVK ½ú¹óûü¿Ëd^ýœy„ÉÏÌÑBm3ý³}»÷ìÞ÷Ó"Ï{׸Æ£S›3+§°¸¤¬¬¸07-ùꩃ{ö^̪m´ÉiÔjŽžHÐ>i´P$ Q«Õ\Ö$÷bQõùŽº^€ø°wÉ1÷ñ±å±õ§¾øpgB¥¦Ãs—¢2uÄ(tܰÖÏyà SšS¥§ät6µ›åJ>C ü§Ípãß“ÔvuοÇPÿ)Ó\ZßP)£°™ãx\cLd¬’´™y<`X`«ae"'w{š¾ÏÈá­ººÑ–®ÎF4aëjëïÑ3% 7Ü¢U™P¦n–aëªk¹^¬|'eÝmjMÇNfB)¢žoŽ9¸º¨Cj(«q3‡ö¤U’’;9›Ó„U(Ü_eü¯·÷à7^ýæã/7ÿ߆‹µ|÷ùï¼*7ä-Ä=.å¿«RQ‚óŸkA÷.‡ ­E†Ÿ¤}˜Ýî´7—ŽÞ]1zrVþ-—‚ÞaÊŠËXBY8Ø‹ïÅ9Þ·w9;'>ÅiÊŠÿüú ÀÔÙÛÍüž~þAà2vöô©Sf<¾à©ç/^úìÂ…My$ÀÅ„§­Îˆ<S¢in‰å¡(šîàÊ¥_È2lׂþ¥=»kù-~ûåŒ5_ÇžZÿÂ…úœ1sÆÌ ¡nòæ§3&/§€!\ýñ•aÇ;|&h¨kèì&¤+Î/beãéaFÝ›ÔvAW”WÄÊÚÃüÝê<7o>•§.È+eIË©)( »6ÏC€"mmkÕf3<>ŽeîÕ}´•‹£´]ÀçS„è†ëÅÊwRÖÄæŒ5?s áXDņ̃hBØÊ3G.5ÒN³§ð¤Æjuõ •–刮^Mé‡û´$üü{O_{öÇk?ýH(Q¿ç×- 4ð+â÷¸”ÿ®JEÙøûuÕ©»Û6¬|’öe>t»Ó^\:zuÅèÑYù·\ zÖÕ4r„657¥ïÞ9~×îr&æF©©¯©ÿ;'ô¤eVNÅÈB™©W­½ÉÙ½òêÒ“³üìÈ(BhMDZÕtýBš§[aøšwÝ=ûü`ûáû‡€øÐGÀ^<¶Zòå®Qçöü²ó“Ég¶¦ýå ‡¡s–®x~‚§”"„iR(YB¹…¹u4’ûZvöÄÀ65©9BIe’¾Ñ]j»Š/”J5G(™QGëñ%2!JESëÓ’NÒÎãóÿîa”Xjx¾´ò”µ$ÁÓÃmíºq$"÷©ç3¦úý–«&ÂSgù<Ýê=.å¿«RÑúQIwÆU9COÒ>͇nwÚóKG¯®=:+ïøêÝ;5F£á8B Å‚¾?Çï~þ…BB8­FóOûà%sóq‹É¿ÑTU~‹ ãJ$Q„0j Óîd5j-Gˆ¾ïhÖ€‡:>¤„!E8R©%¤Ã÷ª&%G(XÜ:´Üë‘Å<²hUî•£ûvn;{iÛ;IÉe[¾}ÆGH‹Å"Šèä¡‹ÿïß=L=- (¢S*U½»-³ZMÓt•Ú®#•Š(¢hR(;úˆ‚R¡&„–H%t=’ô™Ž3¡Çi3då;)kCý§LpÙósÖñc)ϼâ›{üð ­ÐoêT·NcNÕŸ—½ò}BÏÒwìã³ü=lÍäb>EØÜCŸ|Yß~ˆÔá ?Åi(€Ò$m]dÔ¦ÎúIýƒ îîêYžrƒNҾ·nwÚ³Kǽ½bôúê}ojŸÏ'„V×Ççø½ÈN§Õþ3^êuTËŒ¤ib´·'vÊåbŠ( Ž©ÖÓ5(XBør¹þ……ákyˆÇÒ6.ŽbŠè2Ó²´ß8#­ˆ!<7G~Ç“¸ [ðï/÷ý²jÌÿ³wçqQÔÿÀ?3{³Ü °àË)"‡ †'xƒšWÞi™šeé/Ó,¿ö5­¬,¿e¥e©å‘‰yç…x+ˆ¨È܇Ü÷µÀìÎüþðäÒL_ÏGÿ$ãÎgÞ3³Î‹Ï1&¤&nÏׄp¥¶V”&&¶Žew MØ’ôŒÖæÀP}w6EÓq2Lqaq˃£šmmk8¶ö6–¤¥?ºÆ…63%]ÃR©Ìòš ÚÁ"tñ3`'ÎuÛvàì?Ö‰Ëäž=-=œÁˆúÞbÉٲӿ&f£Öîûíóås§Lô>ÜÏw˜ß`÷f^%§Í9òÕ·!•Ùô~x½¯2ô‡/÷gk_Œ×Qí«p‡ÖMißMJžÊNÛØª§ûÑÙoï'Œ§¯¯C¦ê±C4Ûw?úh«*kXBëè={q‰UÔ)XB îÿ¢613ᦲ¤TÙdËúÒâ †Ð&†íÝþÍù/ª”mz~R)|Á£Ãç„Þ¾ýôi&ÿô'›yÀW%ئ`96ƒ}[ým®P6öe/Å*ËË,¡m”q)M±}1uí͇²¾},hVuêTËOê´¾¡‡"LIa Ûdqùëáé}ÀoÜÚûS˜ˆF¡lòA[ òíÁ'õ±A4FqëÔù-%î3¸è‰žý–ÚÖÙ"tÕÅÙ‰sÝÖ=Œqã³%çüôç™|VoÀø¡&->²i 2sU,%ê;rH£éhLijZÓ_8h2÷ºùz5×~öª·ö»ú5gžüæŸ6ÿ,Ù•YäY8qÕž wÆ#7éÓðØ>nƒ§üÑ5ßÞ]õôÈw¹™•9M˜ÒÜuWÞãO¥>Lan^=KñÌ,ï_åZyaV^Uý3p *sR3ëXJ é~è¾ÐÊÖŠG4ù©éò†W%[“‘–[Oh#©õýÅÃÚ¾%ü‹ó¡™Ä*9!æ±Q¥T$'ĘI¬H3ëÇÍŸëªÃV„~¹xÕï¡•÷ÿ¬¯H9óÓòÅÛÕ”yÀÛÓœ9ézëØ I¥ª†ÿbeˆT±´™ƒ½>EÇñ•…ÃL(íÀU+ Ë{8T”‘gß<ùûᨚ–ŸøxSæx‰‰*vË6œJ¯¹ÿ¯º¦êNDH|ù½ÿ¹z9ó(mÚ‰ƒ Þž Î9õý¶ˆÆSÛÐZBÛtÓ¬&òTP–ºÉsˤEc%´:î—7žËQ>X?áà§kç3|»i¯?öUy]µ¥¶µ£ORgÎuK`9bL_[~ñÈÙRb*H§¯]¼díÑÔ#«fžüZbi*dkË ‹«4¶óv èe|÷ÉcâÂI‡ßߟqèƒéi¾~žÝuµÕ9 ×B¢«dƒúЈ²vµ–úMšèpfWʵÿ͘|¬—­žºRðÕú™RšPzƒ–®ÿ ôƒoC|05Hâ`o%Ö–g§e–)Y®Å°_¼íö¤—Øk¹mm/ÂÕ™sÝÖ=ø¾ÜÿÇ«çå,-=¶N«#ÊFMóÛs6qûâ×3ü}Œ¨š‚ÄW ¤S'õ>p8öÁs~ÂŽu¿Æ+ø=毙çz¯Wïêø[qu,mâîaË!„&7)©šaYErB†šØ‹žÊ­ÆÔ$DÄÇ…S\‘®¾Ž€K4µòêZ5C(¾iÏ!#Ý.‘Ë•xûz—GFÿ+Iß@—¯­©¨Rj ÇÀqà F‹)µ}ËçV.€ç? „Bk;'‰TƶúaŠ¢x<Ÿßüb,´ÙU;öŽ8vàÐùð˜ÔÜââ"Š/6±uïÕÇwüÔ‰¾¶âFÿfІCæ.É6¸t=>==6'AK õÍl¼ÇÌ7ãÕ‘N÷_N(=·›÷ö?} ð䕈¤ì´ä<›XöþÒàþƒ ©ÖA‡®Ùiçw0ðà¹ëq™¹jZdhæ2ÈgüÃ7œQzý–þ¶ÅvÛ®ãWbCÄiEFfVÞó7Ì™åyû?co…´³µ·…›¿Õùqû‰«ÉÑ1"ë¡Æ†âê8ÏÚ°Û#(p÷±Ë·R“¢Ô]SŸqƒÆMŸà¬ÿæj´Ü¶6áI'ÄNœë¶íÀ`ðØ!ÆOVÚŽ~Ùßú¦¦#Vÿ.°ÛxæZØÁ_Ï‘‘¥sŸÉë×Íöe÷Gÿ{wl]ô¶Ov'«=ßùøu×ëçÙkæ]}mKŸÿÜDz—žÔÔ£gåÄu¬ñm©p;3g›nÒ®ºÝiG[õt¿1Ú÷íýd¿‘š^*Æý}=ù7n$_¾T0sŽÝE÷ø“¯:þbX)C âv·)ç¡c]Ïf›Œñ÷|Z/Ý  œúû2©™ù%åUòêŠ-á ÅFÝ­»Û÷pq²7íòäuóöo—–W\YVC ôÌlm{¸÷vì&¤:º%<Ëd„Œô4BHbl¤—Ï`žilÅɦþ÷’ÂqáîÀöœI«kC×_~¼Âjæoû–önV qóê÷‚ŸyyU¥žá󴣸Èxô€Vdxˆ‹»!ÄÎÞ<ÙõKžÊhÄœI¶mÚ‘À°šI›™‚ã{Ï—±:}fMóàãyñÞoðdzÍY6΂”où+­þ_Ð^¶:ì÷·ü³—·Ä?½€|Ðu(ýAKVM³%‰üo_¦æYO‡5·~þþT‘¸÷âOæô@ç!çú4ÏpBì·rÈÊESuû¬€ö1“Xåçhµ”âù Õj órÍ%ÝQ @>€ö146546M½_UQަÿòd¨­ª,OKºmdbj`l‚‚Áú4Ð^VÖ2±®^qA^nv&"â¿Íáèˆu¥6v‡€|¤“½ˆ¨Œ/äC@>äC@>‚õKàžÊ²Ò⼺Ú†aP§€¦i±®™Ä «Dò!äC@>äC@>„g[ñ÷Ò¾}_êûÞñJö |¼:aë|ÿVÍcPkR¶fDþ¯mMG5·õµ3Ó’ŠòsÕ*e+›ñB K©­ƒ3M7I›ª3+G¬8¯¾÷Esx:ú&›}†øO™0ÄAéôic*nßH¬¨Ñܸ‘¦™hÅGAžŸ3[›sóâ•èBµQïñS¼Mš½µXUiJLlâ²C ôL-zzzÈ yØ^”|˜•–\W#÷ö" [ÙL¥T&'Dg¥%Û9¹4÷sŠo`n®Ç%„0EUyQZTAjÔ¥ƒ Yùãº)²ADaJ/š´Éx]ðW~ÿú@E›xû,«2—Wû!>7غü¨ócòL+#غì+§.$Vj G¨o`ÄÓÔV¤Gfßq9®¯DС-ÿ]²³³ !ÖÖÖ¸b:’ ós¼}· !¡ÐÙÕãVxH ùc?ëû½ód÷ž[5òÌëG~ܰõbÞ•o>ßï½}¶ìYïDd+¯‡Æ¨ÉÐçã„SF}f¯èƒ ÿùɆʂØËçnåÖqMeÝÕwrkZØN‘šTÉ,7üĉ›¹J]»Áã¼»qZL‘Õiqw,×¢¯¯—•ÎÝ£¥u$žCûXòØšÔØ49Ûî-€¼Pý‡OŽ §·»Î¾ìÚÂÜB-±mðl®.¼vh÷ŸAaq™%5ŒÈÄÆeÀèéó§’ ¯)°ü„ù›ížÉ Ùûë¾ó‘©¹%*~7[w¿‰o¼5Ù͈Vå„Üu084>»LAéIûœ¹hîP›&ãêKnÛ»7(,:=¿RI‹M­{ö6eö´á21uo &ïÂk8z3_ÉrjÅàSwÿ˜?à³ ï&èSíhs ´e±‡wþqäJlFI-+6sè=tÆü¹~|EH3á­ìˆÉÜ>wöæ$Ú{ùmÓ-š„uä·í/Ôùõ‘ÏG‰®­ X~´ÖñÝ=;ÚÓ«øWðÕÈÔü 5ÏÀÔLbÝÃgÒüw†I9í:;Í®sï|Íß:ô[à™ÉÙ…UZ‘‰ÔÕÇμiý-Njcò÷Í›²1Šòeð†±ºâÒ'~«\þmŽ Ý¥WÅãsë2ÎíùeïÙi…rFdjÝsà˜Y ¦ùXòÛsš²å[vε*ÝõËŽ£a©ÅJçâ߶δ¦ä7ü¿ÕûrLüWn\=¬sÉ”gáälS˸ r—Ùâ´ÛR——[¢%\©£½ÕðÈõì»ßÈË,¾“]çâ*¦Úµ% vFS¯%„py܆]Ñ[–­Ø+§DÝì=¨ª¬äˆ£›#Î^˜óý¦E}õ=’jó’Ïî\¾ok”ÚÄFfm/.ÎÊL¹øMDdÑ·‰·/ÝS'6—u·3¨ÍÏÈŽ Úw#mõŸ_‘Üg«"^öÑoqÕ %2‘Êzˆµ•¹™áÇ~ >°jãgc¤¼»C÷êH÷>ëB/ÆWÐÒ¾}$!„plxTÚÜ4hdýýÑ’o.jßÈÚÁň®É»¾wõµk“Æ™ó)¢"MúZß‘M@@¯­I1±g/äM%m”9T‘g.1´±oÀ }ŠÔ7Ó¶êÖæ÷Wþ_ÍZhh&1`ªKî$䋽Euèì4“„ó’ÏïYñ×Ï׫tÌl¤6eÙY©W¤†‡&¬Û±nŒyÇSR'¯„»—cÒî%¿KbLdö=Ü85ù©é7ýxó|È[›¿{Ý­AjWØò’‚”ýÞÛx­‚pEbW«gdL¢I¹|êvESyòL̇#FŠ:y›¸qo‡,a[èÛcÊK+B›˜™6Íò|Ss#:³¸¬¨ŒqsÚ³% v‘Ú¨ð%K {¸ÙqÌò»øÝêí±5Ý/Û¸fŠ«>Ma*¢·­\ñKä«7{Zå#nøð]{é×íVþïYý²½˜"„©ŠÜòþ;»Rö,{›èxÌßüÕ}ºñ!êüs_-üoPNÈîC)£÷àBSzzýÇÛcåB§WÖ~±d”­ˆ"„hÊ"¿øè§° /?–ʶ¿ãÂ'„c?îý5c²wÌ¿_Áw›úáÚ&ëÓ´³ÍcMúk¿½X¨÷š½á›Eºq !l]Vз+× S±„ßÎIFxo‰¹–pölöŒy »d·‚.•ji³‘cúê4ŸJO}ùßßãä<Û€Ÿ,™àfÂ'„häÙ ©*Ùý®ÈÎéýóµågÓïþòé,OS.!„(sNþŸŸÌ½¸eßíQïõêð…Ø©+á®ú„S'¥cVÿùñX;1EakÓþþtù†3Q[Wýâ¾¹—¨CE`Êo|ÿÉñ\ÃÑ+¿Z4±·¹b†&„ÐÝtéB¹Ð±çS[IUS«f %Ö{¤ãë‰iBêåÕ –èRíØÞØiL]Nø®•_/b=f½1ÒøÞs&“ut[p koA«Röî¸PцIVío3i0æóðþDá÷zsí»wÃ!!„Ò±óÁ² MLJ¶iG´©ß8]¢I9}.³á(ÃÚëg.W0é¨qžÍ‡mÊÁß.—³üžo}ýß©wÃ!!„«gíáå¨OuþHœ/}ß%ŸÍ¹ !Béè÷_óâSLALLA§f¡vüJxð ¦Ë>gw?Qb‡ «—6¡´9'\®f;V¶>;]1lÝÏŸÌð2R„{ï¡Í_þîÐ_þ:ôû\‡§Ô ǪU*–Ž€÷èi¾€G¢R©ØvmI:¾ˆh‘N¯VÚìvùŽÛE›y`åŒY³§Íš=eú+#†|yÉÏ!åFÞ¯¯ÿñMWკ~WCS5D·ß°éq¬{¹Ò¬29>CÛèS)aï^f¨ ¤v–4!\—Á¤Mm­uiÂTUÞ}Ògî\ ËÒR<1ãl?Sº/M)å°57Bn*ÛÝæ†5‰Œ.a(ž»@ãÁ Dä9b@“—×µmG”¡ï˜A†´&íìÙ¤»eåWÏ\­b¸þþ=›ï¡cßÑR›þš³[ƒ‡zm]­‚!´®Ìû%YsS›(¡«iã'mZ$5h8\nës£…BÅJ¬«ÓÌv\‘X@H¢¶Žy\çjûÛÜ  Je} m 9°6ïHè5v„äH`îÙ3ñïºyò [r&¼–úŒ¶j±%uu*–P:-T³ÓGúpÑ“™³Öñ+áaÛDÂGÛ/ )BX•RÍBuä½;aï@ „Š­J­%¤IºcÔªz–»cGÛ±% vzoö¯.rbÑÞô}ßí½u¡ãƒÐB¡€"½~ó¾ùÀ«mmêð3*­£# Hm]­¢™.¢VE-Ò=öɾm~øwE4JE3S¹4õšŽîˆï0ÊfÿŽ;ÏF/ñìÇ-½xæ–‚èøŽÚò[îµD¡P²OäH;¾î§“zµæÉ|2a• 壿PÔ)XBh¡H@uYþ)|==!Eµ5µ,á7^eµV^ËÂÕÓ»û«Š¶o ó;Kä1wY€­JܹáPÖÃéZ\©­‡0¥‰‰O|r×ÖÞ†CØ’´ôG¡Ñf¦¤kXJ •Y>¶2i3ÇÂÒŒ&lIVö#ogРеÝÇyôX'.Sr)8RÅ”\ŽRQú_lØò=Dz»„&lIzFË“ŸâÙ¡(úî,¸¦ã™âÂbíz3;[š÷È|SÕô<†ÐV’»ËÖ<ÍK´ëos3a*KJ•M~R_Z\ÁÚÀÄnçT^ñÙ IDAT–ð‚åC¾@¨R*Úò)*¥‚/¶i‡”þ Eo1¤jc¶o8þàI›¶8PÆ¥4 ÇöÅÔ=éC¶äÛƒOêcƒNe7YUEqëÔù-%î3¸¨ñd6¢Q(›¼:°3mæØõö0¢YuÔÙ ÅÓ†&ãÊÕ\m‡wDÛôâ³åW.Eç…\ŠQS&CÇ Ôk¥¿‡#ëÛÇ‚fÕQ§©F—i;Ͼ¡‡"LIa Ûä%×ÃÓµOh¯¬*òRxãxÌV†½VÃкž}{ðº¼ZyaV^UýS¼Ï…V¶V<¢ÉOMoô ¶&#-·žÐFRëû‹î´}Kx±ò¡™Ä*9!æ±Q¥T$'ĘI¬ÚºËn£ßŸç¡ÃÊöü\z/q_Y8Ì„ÒÞ \µò—°¼‡ƒyöÍ“¿Žªéº¾#ÚfÒ¢±Z÷ËÇÏåÜï&aª~ºæp>÷›öú0ãÏÀ´±Mw1Íj"Oe©G«N´Yà=i²=ÔÝØüùÑ•÷#¢ºðÊO_íIo:޲=;¢%#¼…lÙµ ß/Ç©)‹‘c¼[;ÏcÊ/1QÅnùφSé5÷›¢©º_Î<å³#rõræQÚ´#¼-BsêûmJöIÝLե͟J¾¿¾ [“rèÓ*XŽtÜ”Áz¤k/Q¦èIJɓ&Nš8o×K¼ÍVæél@k o^ŽÌ«»·T©¢0æbDžšX÷r~¸:QÛ·ò"Í?”ÚØçd¥Ý Q«”¤ÕnF3 K©}›wʱyeéìonK¹ôýOWû2Ø"„2¹r}vŇ?G\ß²tÊ#+s]J%/)((Why>ÿ™0©·nW4¥7héúJ?ø6ôÀSƒ$öVbmyvZf™’åZ [ñÅÛn _= è7i¢Ã™])×þ7cò±^¶zêJqÀWëgJéNµ™×cþšÅqïý~}Ë/ï—9J ‰þW’¾._[SQ¥ÔŽãÀA §¶}ˬ\ Щ|( ­íœ$R˲­N£x<ŸÏoÇnù=æ.´äPnÐ÷[Æx­ì+¦¡ôÜlÞÛÿôÀ“W"’²Ó’óOlbÙkøKƒGø·6…®#tœgmØí¸ûØå[©IQjŽ®©Ï¸Aã¦ÏpÖoÒ©*p[¸ù[·Ÿ¸šœ#2±j,|4;Þf¡óŒwÙع÷Xh\fb\ž®¹c¿YK¼`r.kwPYÓHÛæÝ}âå  †ë2Úߥ K©ÐæC×ì´ó;xðÜõ¸ÌÜ 5-24sä3¾ÁëŸÖÙ¡ôú-ým‹í¶]ǯĆˆÓŠŒÌ¬¼ço˜3ËóöÆÞ y÷€ÈÍoîrŸQ½vþò×ùˆÄX¹V`dë5|ôŒ7g ±vô,´6GtèX×óÙ&cü=Oó^çuóöo—–W\YVC ôÌlm{¸÷vì&¤:º%<_( BHFz!$16ÒËg0ŠðŒˆ qóê÷/j°¼ªRÏÀðyÚQ\ä |+ÀóýÀéâîE±³w OýR x¿ ò! @ÇïOšf´ZÔáŸÂhµ4‡ƒ:ò!üótĺry5êðO‘Ë«ttĨ À?ÏLbU”Ÿ£ÕjPЧO«ÕæåšKº£€|ÿäC@>äC@>äC@>äC@>äC@>äC@>äC@>„§…­ø{iß¾/õ}ïx%û>^°u¾ÿÀ +æ1¨5Às†ÛÊφÉLK*ÊÏU«”­lÆ-,¥¶Î4Ý8mjS~zuîÖ Á˜o‚¿òã7·ƒ¼?Nÿ_ 5ôóàïýužÑ 1…{ßžòuTýc6ã÷ýïÑMS»QþZÚos§ÿšÌ:,Ø÷Ç›NœGÿ‚êÌÊ+ΫïýEq¸±a·î2—>C¦ =“Ũ¸}#±¢FsãFšf¢÷À‹’³Ò’ëjäÞ>CBa+›©”Êä„謴d;'—ç±D£nfÝæCFUUV­&|=áÃ@Ì35 êø£'S5,!é§ÿŽ{}…gKQŠI$úö—pžµZÐf#Þ~'˪ÌåÕ~‡/R>,ÌÏñöÜz8$„„BgW[á!Ïg>¤»MüúÈćÿÏ–þ¿€¯n°onžbÖÂøÜºˆã§óH7;Y}ÖÓÇ#ÞõÐB÷(ÇnÆw{çÉî~ «,I¸ô×÷ßÿqçÔgŸ÷ìµyJ÷gmü/eÔgöŠ>¸oÈ 6ÿP­R „mæ(ŠZƒúba«®»XF Ìc )»tìrU›æRÂn½üÿ°v¼ÍÖF:“‹9~@ž‰þÊªàÆ¡?žOH/¨P°|=c‰¬‡ûKC&û{š?Õ¨.¼vh÷ŸAaq™%5ŒÈÄÆeÀèéó§’ ÷隊ÄËA'/„ÝŒOË)•«i‘±¥SŸa¯,˜3ÌN‡ê’ö3%ކÕÝ‘¾°>zAgÂÿ>_2z²YûÅ^½DŸTägçi‰ukI[{xçG®Äf”Ô²b3‡ÞCgÌŸëÇçQ„4“G[©“¹}îìÍI´÷òÛ¦[4Ù¥:òÛ ‹öêŽüúÈç£D×Ö,?Zëøîž ílX_rëXà_ÁW#Só+Ô<S3‰uŸIóß&åNŸ2x1ó¡:uïâw6ݬ"BS™³»-][šŸ—s%#6S<ÀßÓœB[½eÙŠm±rJÔÍÞÙÓ‰ªÊJŽ8º9âì…9ßoZÔW¿µ˜WºñíUÁ•,Wßʱ§· ·&;>!òäö¨Ð˜e»7Mµí‚LöéãJÊhø(]=ʰÑÙ“ǃ³'αmc@d´– Z;uÖß-ùæb¡†ð¬\Œèš¼ë{W_»6iœ9Ÿ"ªÆ?®b6½¶&ÅÄž½7u–´Q;U‘g.1´±oÀ }ŠÔ7Û]zkóû+¯f-44“0Õ%w òEƒÞ¢ÚÚ ·"òaŠÐ?vDTq^ýaë/ÃûÓòŠn_R¹¸ÝíY2ÁÍ„OÑȳRU²û]‘;e@^Ä÷2ÕÅÅ †9öv1¤NË3wõõ÷º7>“É:º-¸„5½rÍÔ»IƒBy.øp¦—) >|©õÉ~BÏ9Ë_q/BhÃ>¯ÍôæQLERrqç'ü©¢NœÌÒrºç) „瘑–í“ÇcTû»ZyÎÍ#\ÊòdgúµÜ«¦Ž<¼?QEø½Þ\ûîÝpH¡tlÇ|°lBÓñ¡mªmê7ÎG—hRNŸËlX„Úëg.W0é¨q-,ÁªM9øÛår–ßó­¯ÿ;õn8$„põ¬=¼ï·¿³§ ^Ä|H»¸Xp˜ê³?~U¢nö‰WCS5D·ß°ãǺ—›!Í*“ã3´íÛ)¥'µ6¦ S[[Ûé˜RsõØù"†c?Úß•w÷Oxnþ£d¦èüñ°ÚfâUƾe“¦L›ðÊ+þþÃ}FL]ðå¡8¹@æ¿ò»E-/ ¤ÍŒŒ.a(ž»@ãÁ Dä9b€ ÝŠQ†¾cÒš´³g“Ô•_=sµŠá:øû÷l¾ï“¹~GKñ<Æ—µÔ;úNç|)Ï}ÞšwSVþtóìú·.oë1xü„ñFõ“é=ˆ<Ú¬Œl-a«ƒV¼ÔlØ“WÉÛÔ È¨k«ªk•õ K4Õ*ŠÂv:²e—Ž„T²<×±öƆrGqÚ½)éÊÑK~c÷ ²ªŠü¬ BQ4G 6–ötriø¸ c½,­íG[WÀÊÌÁÞ¤iÀçZÛvç’†·±bº>þÃM‚Þ9|{AO7.!„­ºtMÎòÝÆ–µð‹MÞ\-¡ÌìZììì²Sÿæ|ØþeG(=·ù›ö ¹x`Wà‘3±çw$^Øõ£UÿÉ —½9ÊA‡"D[W«`­+ó~I¦K5÷ŽWÓÖ:EUùáû÷:•RP£f&ÂÎ/MÃä=~½ŽeÙø“ûo|$&];~¶ `še£Öq]íyðþöïH©¬g %Ö}tÅUJ$5þÃ6WLè5v„äH`îÙ3ñïºyò [r&¼–úŒ¶j©L]Š%”NÓv¨ðÜæCŠ/âS„Õ(õ„4;{MY§` Å 7ƒÖs>oÝð¹f†Ÿ<¸çØÍ«{ÖÆÄnßòº Ÿ Ñèõ›÷Í^ím½òöη—ü%瘺1ÑÃÞÂHOÈ¥“yìëÍ!ÕŽ‡™'Ç« Wll$n6ÕÕeÕª˜'²¦,´ë|¢E4J…êÑ.OM½¦ÉÆm®ß#`”Íþw.ž^âÙ[zñÌ-Ññ;´åWsÜk‰B¡l¹óµS§ Èó0ÿ6·é.¤ˆ&51­¾Ùјò”Ä\-áXɺ7›h}Ù€™l:´ëC?R·çk B¸R[+aJ ˜vþ<ýëÎèjb6jí¾ß>_>wÊDÿáÃý|‡ù v·àuþpÕqǧi(£‘ë8{ªñ'ö|ÐWH4i'NÜ®ï‚Êr,,Íh–deË›Æ2¦¨ ¸ñd¾vTŒãä „*¥¢-Ÿ¢R*ø‚G_s.ôöí§O3ù§ÿ8ÙL2P%ئ`96ƒ}[_)”}ÙK@±ÊòrKh›e\J“pl_L]ûŽU[™«b)Qß‘CºÑÞКVÙ鹇ŠëÇÎæ1´Åˆñu-s·QêÓÚœÓÇo*:Ö8v½=ŒhVuöB“%W5W®æ6·í©mЋϖ_¹r)FM™ 3P¯•QÂYß>4«Ž:u*[Ûâ‡vø”À3’Í$VÉ 1ˆ*¥"9!ÆLbõÈO(áóçºê°¡_.^õ{hFåý¾³úŠ”3?-_¼=QM™¼=Í™ó°KñÖ±’J¾ B™t"RÅÒföú!ÇW3¡´wW­ü%,ïá¸FFž}óäjZŠz´©¹ —"ªÌ´œxŠÔÃßîˆQw2²U!G/•1Ù¸—=š[Z†24aT7š)»xôª¼ó/sxOšlÏ#u76þGtåýˆ¨.¼òÓW{Ò5M3\;*FKFx Ù²kA¿_ŽSS#Çx‹Zm ÏcÊ/1QÅnùφSé5÷›¢©º_δ»@žÅù‡Rûœ¬´[á!j•’´ÚÍhfa)µ±o.=8Ì]ÿiáûk¤\üáýK›øºÆÆº „†ahs€¼°M­ùðþC@>äCx ,îÐ>Šäà=!¹D:xÎh'!Ê/H>d&3-©(?W­R¶²_ ´°”Ú:8Ót“ÞHÕ™•#VœWßû?Š¢9<}‰M>Cü§Lâ ‡ÞK€C>ÌJK®«‘{û [ë&Q)•É ÑYiÉvN.Íýœâ˜›ëq !ŒFQU^”Uuéà_CVþ¸nŠŒÿì׈)9¼hÒ&ãuÁ_ùñqÅyçæç8õto=BB¡³«Ga~N ?çØÏúþØ‘C'Ž:uüÔÕËgŽ|ÿî0+®¦ðÊ7ŸïÏdžý±•×CcÔ¸Tà·j•R µåSBQëcPâêɾ¶~í)‡U%ž»ýÌDMÑ…sQJ\)@°>Í èéí®³/»¶0·PKldTuáµC»ÿ ‹Ë,©aD&6.FOŸ?}´af}Øš€å'Ìßük÷L^ÈÞ_÷LÍ-Qñ»ÙºûM|ã­ÉnF´*'ôஃÁ¡ñÙe JOâØoäÌEs‡Ú7¢¾äÖ±½{ƒÂ¢Óó+•´ØÔºg¿aSfO.S÷¶`ò.ü°ö‡£7ó•,!§V >u÷ù> ún‚>ÕŽ6?‚Éß7oÊÆ(jÈ—ÁÆê6Žå—>ñû0Xåºøðoslî×FUpãПO‡'¤T(X¾ž±DÖÃý¥!“ý=Íùí¯žå[vε*ÝõËŽ£a©ÅJçâ߶δ¦Öv¶øÖ¡ßÏÜHÎ.¬ÒŠL¤®>þsæMëoÁkž+/¼v3>-§T®¦EÆ–N}†½²`Î0;ª‹ÏWŽŽ•ßüñÿVïË1ñ_¹qõ³ÎOoeEI1qIwŠÊkÕ„/6¶°íÕÛÆC7»iéô”¬œüâòª:µ–â‰ôŒ­l]z»ËŒԌɹôçÙ]¯)Üø‰‘ñùeUrÃtënïáéÚ]3rà\¿”ÑÔk !\^ƒý³ÕÑ[–­Ø+§DÝì=¨ª¬äˆ£›#Î^˜óý¦E}ä1B!Ú¼ä³;—ïÛ¥6±‘YÛ‹‹³2S®~YôíGâíK·ÄÔ‰ÍeÝí jó3²c‚¶ÇÝH[ýç×c$÷¿ÙªÈŸ—}ô[\5C‰L¤²bmenfø±_ƒO¬ÚøÙ)BXeéÞg`]èÅø ZÚ7 „"„®ƒ ê@›;Lºwñ;›nV¡©ÌÙÝ–®-ÍÏ˹’›)àïiÞþ–°å%)û7¼·ñZáŠÄ"®VÏȘnPÛó{Vüõóõ*3©ƒAYvVêÕ#©á¡ ëv¬cþ0ÃÔ†n|{Up%ËÕ·rìéí­ɎOˆ<¹=*4fÙîMSm9]w¾Úvtڔ˧nWÔ1•'ÏÄ|8b¤¨se×V&Ÿ;–YÃŽÐÐØTHÕËóâ/äæº8‰¹„hšœ£ìë'.¤+YZ ol&Rêê’’‚”¨Â;EŠIþ= ä>¦º,3î\|D®Š'6Ô70*ª*Ër’Êò²K†Nê(¦ð­/V>¬ Q²”°‡›÷Á,¿‹ß­Þ[Ómð²k¦¸êÓ„¦"zÛÊ¿Dþ±z³×¡U>↠§öÒ¯Û­ü?Þ³úe{1ES¹åýwv%¤ìYö6Ññ˜¿ù«7útãBÔùç¾Zøß œÝ‡RF/îÁ!„¦ôôú·ÇÊ…N¯¬ýbÉ([EÑ”E~ñÑOaA_~,•mÇ…OÇ~ÜûkÆdï˜9¾‚ï6õõMÖ§ig›;JúÇŽˆ*®Ó«?l]âu/i°Ê¢Û×£T.nüŽ´„)¿ñý'Çs G¯üjÑÄÞæBŠaºam·ül:ðÝ_>åiÊ%„eÎéÏÿïó“¹·ì»=ê½^.±ÏäÓì%ã'ø9r !„©¼¹iáÒÀä[»÷FNXÕ—ß5ç«ÍGGwwvÒ¥ åBÇž^øˆ©ˆ½žYÃðÍÜFï#Ó„R_™~þÒí\-!œÆ›ó»÷èíj¤çälk,¤ïž¡ü'‚ãK bã [6ؼ>ëf„Žuß±~½,thBÑT§_9}%¥:+"¡Ä¾Ÿú€<ƒóŸ¦.'|×Ê/ޱ‚³Þi|¯·„É:º-¸„5½rÍÔ»€By.øp¦—) >|©ŠmÒrÿ÷ÿ;Þþ^w mà5ï4«©§Üç}ºànØ „ð-‡-œéÎ%Ú¼¸Ûw?B›zxûÅr–ïúæºå£ï†CB×ÄkögŸŽ· U){w\¨`Ûp(ínsÇ*V]\¬`(‘co—‡ÝP”ÐÜÕ×ßë^–hoKØúìtŰu?2ÃË\HBš¼š„Ö÷]òÙœ{á"”Ž~ÿ5/>ÅÄÄ4œ1*ôœ³üõ÷Â!!„6ìóÚLoÅT$%3]t¾Ú~t´ùËßúëÀ_‡~ŸëÀé\Õµ…‰ ¥Â1óòí{/Bx†Žýû÷Ðm®‹kááãaw/B(¡¥{/ ‡°ŠÒÒÚÆ×%°é7Ôý^8$„põí}Ü%ÂÊ ‹ä,¾”ày·ÚÌ+gÌš=mÖì)Ó_1läËK~)7ò~}ýoº Ìô»šª!ºý† h<’cÝËÍf•ÉñÚÆÏØÂÞ¼MÜHí,iB¸.ƒJmjk­K¦ª²š%„æÎµ°,-Åó3Φqˆ t_š0RÊakn„ÜT<>·µ»Íò›þš³[ƒ¸ÄÇÒ0 IDAT ­«U0„Ö•y¿$knô%t5m"h‘¸ù^—K=fMJ…Š%”XW§™í¸"±€Emó¸ÎÕö·¹£(=·ù›ö ¹x`Wà‘3±çw$^Øõ£UÿÉ —½9ÊA‡êPõÄzâ–ÛF uÚÖC¦Êß¿çÐé°¨”‚5Ó0>2º³ãçëéÕ¹aÊÓhB(Ÿ÷èþx<Þ£ÍÐÈsoÇ%¦å•Õ¨GèGÛÆmî^´õi¸ö¯.rbÑÞô}ßí½u¡ãƒ‡oZ(PD£×oÞ7xµ­M~¦ut©­«U4Ó¦QÔª¡E:¢ÇFŽ´¹M˜zµ¦™½é9Ÿ·nøÜ3ÃO ÜsìæÕ=kcb ·oyÝ…ßå-iSm•·w¾½ä×(9ÇÔu茉öFzB.E˜Ìc_o©îÂóõ„êÜz¸\šFÓÌ©`˜¦|š’˜§oª(3Y¯æFºB—&„­L»‘­Â· Ì?l–Ècî²3Z•¸sᬇ£ï¸R[+aJ žø;®­½ ‡°%ié.B£ÍLI×°”@*³|le:×fŠ¢ !äþ Ê飸°XÛâ$4Z_6`æ›íúÐÏ„ÔÄíùãšâéVï>¶ìô¯;£«‰Ù¨µû~û|ùÜ)ý‡÷óæ7ØÝ‚×µçë8:BéêŠiÂÖUV=ï˜Zy“õfi‘Ñ…*"¶÷{åe¿þ.=ìe2™µÞgÏM>ä „*¥¢-Ÿ¢R*øaÛ¼õ-z{ˆ!U³}Ãñü´ÍÀ2.¥I8¶/¦îI²Õ ß|Rt*»Éü0Å­Sçs´”¸Ïà>¢ÆÓäˆF¡¬oò9i3­ohÀ¡SRXÒ8k0¥×ÃÓ»¬P6öe/Å*ËËìS­Þƒ$]™«b)Qß‘CMdJSÓ*»t•öV^˜•WUßéJÌ…Ñff5 ƒLåœêFA•‘WVk áZÚY7zy![W^®Är3ðœäC3‰UrBÌc#¢J©HNˆ1“Xµu—ÝF¿?ÏC‡•‡mù1¸ôÞ“6Çñ•…ÃL(íÀU+ Ë{øXÍȳožüýpT Û…cÒ¢±Z÷ËÇÏå(¼F"áà§kç3|»i¯3¦.jÓ]L³šÈSAYíT›E®^Îÿ™0©·nW4¥7héúJ?ø6ôÀSƒ$öVbmyvZf™’åZ [ñÅÛn ß è7i¢Ã™])×þ7cò±^¶zêJqÀWëgJéNµ™¶š¸pÒá÷÷gú`zš¯Ÿgw]muNµè*Ù >$4¢¬Áú¯i§ørÝw#©£Lb¬C+˳“Sòª4<ëq‹_¿û²ú§Y½û¯5ÍoGÌÙÄí‹_Ïð÷u2¢j o\ +NÔûÀáØ®ÜW›ŽÉMJªfXV‘œ¡&ö¢ÎàÞ¾ýŠO_ÏÉ‹ø{ßm#c}Q×TVÖ°†®žw¢ÓêŒEµwµ.J/‰ :Zioc,"jyi~vŽ\¿g‹Û‰Åø–€ç! „Bk;'‰TƲl«3é(ÇçóÛ±[~¹KÇ-9”ôý–1^+ûŠ)B(=·›÷ö?} ð䕈¤ì´ä<›XöþÒàþƒ »vÅGçYv{î>vùVjR”š£kjã3nиé3œõ›tª ÜnþVçÇí'®&gDLjL¬‡ ®,ÚÑ6Szý–þ¶ÅvÛ®ãWbCÄiEFfVÞó7Ì™åyû?co…4ê8dî’lƒK×ãÓÓcs´´PßÌÆ{ÌÌq3^éô ­Oµz„B™ŽXý»Ànkà™ka=ODF–Î}&¯_7Û—Ýýwl׎smãÑqœ‡Žu=˜m2ÆßSÐù{ÃÄÕ¢Ñíè¸äœ’ÊÒbÂ[õê×ÛÃA”Y›Öðudƒ'Œ4¼Ÿ‘›“‘IxB=Ë#†ºÛ° …ÉÅ|ÍÀ¿eaaAÉHO#„$ÆFzù FQàEâæÕu€V\ä Bˆ‹»!ÄÎÞ<ýõK€àý€|ȇ€|ðŒ^ú4Íhñ~BxA1Z-Íá BˆŽXW.¯FàÅ$—Wé舑!ÄLbU”Ÿ£Õâõ„ðÂÑj5…y¹æ’îȇ„bhljhlšz;¾ª¢Mà…I†ÚªÊò´¤ÛF&¦Æ&M~ÊEà…ee-ëêäåfg""À‹€æptĺR»GÃ!ò!ô"›¢_ ȇ€|ȇ€|ȇ€|ȇ€|ȇ€|ȇ€|ȇ€|È‡Ï ¶âï¥}û¾Ô÷½ã•l—~°2ëÌ–_›ìïÓ¿߀—ç}uª€A¹á…¾) ëp[ùÃ0™iIEù¹j•²•Íø¡…¥ÔÖÁ™¦§MmÊO¯ÎÝš!óMðW~üæv÷ÇÂéÿ‹¡†~ü½¿NÆc0%'×¼óß e¬°›³g=UYnÐÌ ž|>ÌJK®«‘{û …­l¦R*“¢³Ò’íœ\PÐ'³Žï¾RÆò]nÝòŽ‹i9G^4i“ñº~+¤ýãK ósœzº· !¡ÐÙÕ£0?Õ|¢Té)YZÂq6Æá°låõÐ5êÐ¥ùP­R „mŠ"¡¨õ1¨ÐùØ£¨U0,¡uõõ(T£eš¢ ç¢p-®_úOQÜ8ôçÁÓá é –¯g,‘õpiHÀdOóÕ…×íþ3(,.³¤†™Ø¸ =}þôARa§>œÉß7oÊÆ(jÈ—ÁÆê6NË—>ñû0XåºøðoslÄjmYìá¹›QRËŠÍz1®ŸGÒÌ2õ%·ŽíÝž_©¤Å¦Ö=û ›2{Úp™¸åÐÇä‡îÜvàÂåˆ45!äúWÃú}E¡t~^ëËoÏÇÖ‡­ X~Âò­;çZ„îúeÇѰÔb¥Àsño[gZ7ó«‚Çnß–³p÷CÌßük÷L^ÈÞ_÷LÍ-Qñ»ÙºûM|ã­ÉnF´*'ôஃÁ¡ñÙe JOâØoäÌEs‡ÚÚ[:&ïÂk8z3_ÉrjÅàSwÿ˜?à³ ï&èS¼rî·!ð¯à«‘©ùjž©™Äº‡Ï¤ùï “rÚ{Š;_–.)¬¦"ñrÐÉ a7ãÓrJåjZdléÔgØ+ æ ³Ó¡ÙÑlñ­C¿ž¹‘œ]X¥™H]}üçÌ›Ö߂פNm¿)Út³À ›Õ©{¿³éfšÊœÝméÚÒü¼Ü˜+±™âþžæ„BØêè-ËVl‹•S¢nöΞNTUVrÄÑÍg/Ìù~Ó¢¾úTg>¼}­Íúû£%ß\,Ô¾‘µƒ‹]“w}ïêk×&3çSDÕxc¶*òçeýWÍP"©¬‡X[™›~ì—ðà“«6~6FÊk~'lMY9éæâãZu:ª˜tó=ÀF@%t“p:ò±lyIAÊþ ïm¼VA¸"±ˆ«Õ32n¥¹¥íÛu´yÉgw.ß·5Jmb#³¶ge¦\ ü&"²èÛÄÛ—n‰©›ËºÛÔægdÇm»‘¶úϯÇHèv•ŽUÖ‘î}Ö…^Œ¯ ¥}úH(Bá:Øðî5¦ÃW!„­ºµùý•¿ÇW3„šI ˜ê’; ù¢AoQ=Å,Kç?¡6tãÛ«‚+Y®¾•cOonMv|BäÉíQ¡1ËvošjËi´£ó{Vüõóõ*³ÿgï>¢8þ>€ÏîuŽR¥%* boXP¬±'Ænš>Il1ÅhóéјØc{‰bï"¢€Ez/ÒÛq…ÛÝç…¨t9ŠAóý¼ãXfç~;{Ì怜•£^AZJüÍ£ñÁ7î¯Ù±f¤)ÝŒ›¢ÕïGh)33333³ Yy…¬<ôÖ5®šËgŽsMVÏÁêØ Sz¹z \qYYÿß0»çöqõìûA ìÉKWúº{õôkhóä5Vž}%0ôQÕ lÑÅUþݽ|†.þ;º¤ê5¦0|Ó_wOŸáßÜ*o°ŽÏ/œÉ ˜ÙËÛµ÷ÒÊjÿ±òòÊ^^Þ³v§<ý[u¶™ýÜ<{öžµþfneUy²äS_Mñòòvõôöü¿EìÓ7›wzÅwÏž>Ó¿;“\Qõre~èî|{ötë3ã÷ÊFÌûÀÓÓÛsáÑ|¶z 5)Vuó‹!>n½&NœÔÏgòª€Ð9ËqÃ0 œ³‘ã›~T7¿âãêéíæ3þãã å«È‡n˜ÝÓËÛͧ¯§Ï°¹›ï䪪œy~õ¨ž=]{Nù-FÝœ÷Ȥþ9«wý­®ù-‡ã˜¼–p÷ìé5qÕÈüª¢+KSï…Æ•°Í¾- KËKà8N¾ûÇçãŠ*Ÿ¼‡¢_'õîéêíÿMˆ²ö‰¼G¾·+<ïÉ¡ò´ÀOÇõvóôñÿ5ª’kÆMÑ„›ÚXè­k“Álja;{:[š›+g)‰Swý§U£Ä¦]Œð0¡«¶ñ<¶õlg8|ŪI]t«¢ Üç-ŸæÌgsιRÂ5»pÍÃŽˆQa×ù«ßïÝ¡j$–Ò²¹tñØ:eâl»\È »Ì_³d¸­¤jĉoäñæW_Ž1£•qûv\*Òü¹pÍ(–«LK”^óÇS=LÅ!¤ösIj›Õw¼æW6ñÑçcª&YÒzsfûêÑœº’róå<ÏU#kB‹Á ¦¹ò “õ ªâ­ºæ·B˜¸CÛ¯rÂ×ÞþîóIÝŒªf>òu¬Ý<œžŒ:6«žÍKë” vŸ±d¦¯“þ“‰´¾ç[Óz(¶èalnÍgkÒº}5ÃÝøÉ¡b«á½å!¤Øìˆˆ§áÔà¦híûH›îOóoTÇÐÅŌǖž_ÿM@xžªÞg&Þ¼¯&ÚÞƒ{ל ȳîÚMŸæ±ÑILs ×,5K»—ÇR×~V5Ã(q÷í]비lê­ †¸ô·áÕø ¥ÝsìP+WrýŽ\ã|º9ÅR‚®Sæ júƒë9^ó«@‰»÷ö¨±¢SdeoAÂwé×§ú„IBÛZkÓ„-).åZ3t-h9„M Ne(›ÿ;~«^‹f‡¥õJ¨}¹u¬¬ iÂÊd²š'õÜǨFä(};cа%…Oy¯ÉMÑÊ÷#Woý¡ÀuΪ÷ãVü~çüÚ·¯níÜoÌØ1c‡yÛé<íX2)Ii áJ—õ ¬·w[VRÆ6·pÍòÃìÌl–P&ŽuR-¾µmGÉ«öŠ:#%ƒ!”‰ƒCÝ¥~<;g>•¢LKÉf‰ƒF•iV±”©›«&Çõ¯ùU Œ,Íkí#(BÑ&fjU†Çç± ˵fèZÒrÔ™© ¡L ¨Ö½ÍKë•ð8»UÉJJeŠJ–#êR%Eájw°é¨Uç«>Ÿ"DÍ0\3nŠÖ½ ý燚?‰Òé6÷·ýý/Üpô\äÅ1—v­·ì5aÁâùõ(B˜ ™œ%´¶]žvÚõO‰»ÓÍ-\#¬BQÉJª]÷/)‰TRóEV.W6p0!|‰TDH¹\VÁj8¢Û¬bi©ŽT“³Ôs¼æW®’§9 Ÿjý÷X_~Ø‚–ÃVT(9Bi5ðZp-š–Ö)A™|`ïá3AáqÙåªi#¯n|´$T«Þ­{?@;Ï)¡DHN-—WRï^õŠ 9G(X\³´ŽÓ9k†ÌZž|êpÀÞwnî]™³mãL!-‹(¢ÖñžóýRæÔ¾±ÂíùVªÔ5 ‰Q+äʺ£1êJu­³ji‰("«Éë™Ú§–Ë”„Ð-‰¦#'mTìóÏ«ùUhvw¿µÞcKZNÕµ–Ë\+׳åYPóKP<Øù΢Íáe<ã.ƒ¦Žss03Ðó)Â&ŸønÃõÒfH£›¢E÷#—lý!mjÓQLu|LBe}¿çÊâb2³´ëXowÖµë=méo‡w-hDÊ£öî¹%'„oekÉ#l~LL6Û¢ÊÕW8!EBHÝ)xlnN.Sã5ž™… M¸¼”´²Ú}aöQvnÍ¥l|[áòëî¤Â$Ç%ª9Jdeg¡éåh£bŸÞVº /ò=¶¤Î<‹Žæ4áò“йöv-š‹+8³yç½Rb2lõþí_/™5q܈!C<°Ÿ«™ ¹…jtS4á~€ö“ Eb¥¢I½4¥B.Õ}¾¸¸Ço]šÍ:³çT=]reìÁArŽgÓo€]cÕÛí!¢8Ea¡œ#´MŸ>v|J}ÿÄþˆŠ–¿ÿš…ZW_G6/'¯f÷–Í¿œX³w˳ïîf@sªðó—jmô¨Nºv3£æÁ´eß…¤22ðtZ­N²<ôôÅt†’zöó”h|ùÚ¦ØçŸ·u¯B«¾G@@¢–+*[¯Î<;/O3šS…Ÿ®S‡ýZ4“œ¡ä(‰×Ðþ5Ö)²ùñ Å\3 Õè¦xþýí(?41·Œ½ñÜQ©ÇÞ01·¬óJÐÜY]´¸¢ÿ[øéŸ7’ŠŸôØ+‹âÎý¾dá¶eê÷ÎäN¼gCŠ¡'^z˜_ý!ÚŠ”À”mâè KÂsz}Á`#ŠI øtŦ Ìgþز´;§þ<^ÞP¿² …INŠIøçÐÝj;P¥ŸþuëÝÚs E=ÆOpŠ _ï¹Wütƒÿœk¿»7Q]'£ÿî(sZµé³_.¤+žnñÿЗ«Žd±BûÉ3RÍHÔÚ¤Øçç; ¤ß#mhÓQJsê°Ó)ªV«³Àmâ )QFnüä‡Ó‰åO.¶º$õîõèBö_½Í «±©Ÿ"Êä„ôj™´<þÈO;"T;zÜM¹€´›õ‡V6é) ¡Á×UJit˜ÑÄÌÂÊÆ¡¾nµã¬µ_æ|´ú`Üåu]ùM¨mh¨-`Ê Ê•,G -}°ö³Õ¶„ä gÖýoÍÏ"+';sC-ZQ˜—Y¢Xû/œÙ•ÿxÃÆ¡+Ö¦-ÿãîíNÜa`icªM)Ëò²³ åŒÀ瓱ã»kן6¡pÚrÜ‚ñG>:tx锄Ý;j3¥é÷o]¿Wb×דܸ[PãÝuž»jaÔë‚ooœ=ú€“•>)ËJNyÄÚM™ãwåÏÀ‚š{qôýpíÒü¥?Ý8¸tR ¹£ƒ¥”)LKH.Pp|³Á˾y§›¨9°Š}þy›{Úü=мÇs<·+îÖS'œèj«£*–ú}»všÝ¢:ÓVSV¯Œ]´úXüÑO§úÎÜÂXÌÉ srKÔ¶svôîjøo^‹æNÿ6yàŽˆó1ÛÎL1ÀÙ€*ÏŽ ¹”m5i|÷ƒG"›YlÓoЦÜÐ~òC‘XlmïlneÇq>/¢PXÿn´IÿOwìó=qððÅàˆøŒÜÜG”PjdëÚÕsÀ˜IãØJkŒÐúýg-JÓ»r;:112ý>C‹uMlzŒœæ?õ¡ÎOiN(nó6ìëuæ`À©kw¦%ÄfÔÈ¢ëžý|GôÓohÜ¡I…S:Þnßh»u×Ék‘×F1KÇs˜1ÝýÁ'£B¯×,RÜiêú]wî;q#*9&*SÛÔÉ{ú¢y3ýŒ.¤ì®™B´:Mÿa·[`ÀîWCㆫxÚÆ6>þ}ý§Lõë¤ÛüuimTlvšmÎUhû÷(ê¶`ÃOZë·ýs36é^„ÄÈz¡¸êL›ZµÓ~à¡€CnG%g$©h‰¾‰K_Ÿ1ÕŸ2ø/]‹æ]@cß•Šì·œ»thóE"1°èä9aíš7pîlö¼á¦ÞM»Ùà…öÍÌÌ!I‰ „˜È0Ÿ~ ÀAXðuWBˆ½ƒ#iÛýK€àù€üòC@~Èù! ?䇀üòC@~Èù! ?䇀üòC@~Èù!BÈ Ý懪û[æŽè3vűL¶•K® ZåÛË­×[[ÙV>àÅ኎èåÕÓ냓Å¢­‰ßÈïX–MNxø(+C¥T4r˜P$6³°²uìDÓµ²Må¹¾Ë.ªžþLQ/ã£t{.Zìw}é©ß×ìóÙ<Ó "yÕç—æd¥;¿æÚxrH‰Åº¸åd¥7ð{žýÔŸ:püÐGŽž¿p5èÔîõK&zÓÅч>[°ì¯eÍŽ§ç›Ë¾üÀßY‚«ó/§Å·oD¨‡—Ueì¾_ŽgrÆÃÞŸîܤìâñyD½ã›¿SÔM8Z¯ÏÜÙbEôžu§s1 àÕÏUJ…Hܤ,M$–4>µz·RܡӀ©Ë¶îýù--®èκU;ï¿Ð$„¢±)OS¨]º®@^Ú©¥W÷‰¯¤ÇMí«C5íÃÀÖr/}ª"|Û÷Ò˜&o1zÚ Cª,è¯C1•ˆ8yÅç—¶mbjèýÁ×ó#g¬?¸í¤ŸGRO7†ñ[rLæôþÞ ª29evÈá¿ ¾Ÿ˜]$ç„:†æv]{ö÷›0ÂÝôñȈº(æjà©KAw¢ÒóËT´ÄÐÂÙsðëóf ¶×ªÙ9¦B~EÒ…½›öIÈ)c%ÆÖ¯õ9}Þd‹¦ ²¨rnÞýW`PTr^9+1²qé=|ÊÜ)}­ÄÏÛíÆoÉ?oÜ9Ë2ûÆ®M;ŽÅç*Dî ·o™fM7±ØÇ…˜Îÿ{÷4Áõ}›÷_ ‹ÏÈS ;غ7ûí Ý heúC»½V §t̼‡N{wÖ Q­Ê䅞ط/0è^bV±‚–[¿æ=x⛓‡ØIŸDŠÍ¼´nõºcw²!§—õ;ýøeaﯫKµ(Ïêð÷Ù›añYE*ž±‰¹ugŸñsßlÅÓ ž­–V lSZà³½) =¼=à\HlZN #1²êâ3bƜɽÌjOÓd "ìÜsôZdRžŒ“š8v4uî¬BE÷œMl®»^Ì ºúû9ðššR*t}ô©Ñk‚Âÿøîh¿ß&Z=Ï(ßgþN={âÞ¼.^˜„ €ü°x6£ßè·#â\Yð…à¿‘ú r¨â÷-|ï·;%Dll×ÉÕ––ågefD\KŠL–öánJ!Dvã—w>=[Ìñu-^ëáÂ/O‹¾vj[øˆÅ»›d[£ƒÌ>ܽh󉇬‘Cçn¼ò¬øÄÃëï\¼þö†Ÿgv“66Ò•ÞÛ¸xÙÖÈ2JÒÁ¡“»3U’{÷؆»ç/Íøõ·w½tŸ3JÃæeÇøáƒ_n¾D*á3:†´†Å2™±çw.Ù¿%\edcgí ÍMIŽ»ðýݰG?},ÝöáÆˆ ©©]G{=YVRZDඨ„•}7ÒüIGŸ+ ûcñÇÛ£JYJbde×YÊg$ŸØ|ö”ß§¿|5ÒJð8Q¨ =ûTܸ]D[yùyšS„Âw´P-Wºá£F—²„뛘뱥y©÷³³$}ߦˆFõlµ°´¼„¦·@&3öâÞeÿq»DËÄÆÊÆQ¯ -%þæÑøà÷×ìX3ÒôYT)Ç?^ôýå5X;ºÐå™·÷­¼uk¼¿©"ÊFÛZIðµP9r#|+ IDATÇsé×ß²éÃår¹Ê|ü²wοõã­»›¿=Þ{Ãx‹çü±Ðu`/ÃÇr¯]YæåÆÇ*ÀËÎÌÌÌÌ̬BV^!+½u«æò™ã\“Õw°âìÇ}]={OÙžÄÔÿGlÁÑÿóôôî>ê‡;•O^SÝübˆ«ÏŒÍ ÿ¨ââJ_w¯¾“~ -zZ +ω¾úèY±òðÝ?î<Wô¤¦(ä×I½{ºzû¢¬Q²§·[¯×?9™XÎV•UtÙ˜Þn^½ü ­àªDZEWùw÷òºøïè’ª™ÂðM |Ý=}†s«¼‘è¨n~1ÄÇ­×ĉ“úùL^š#g9ŽcF“bŸÖßgüÇǪêχn˜ÝÓËÛͧ¯§Ï°¹›ï䪭Ì<¿zTÏž®=§ü£~•¼Ó+F¸{öô™þݙ䊪Tæ‡îþÈ·gO·>3~ |Vg&õÏY½]½®¸¬¬sÝZ &ïŸå#Ü={zM\u 2¿ªèÊÒÔ{¡q%lsêÙò°´¼M[ ÷È÷v…ç=9Tžøé¸Þnž>þ¿F=½8u¶™ýÜ<{öžµþfnÕˬ,ùÔWS¼¼¼]=½=ÿïDÛP”•7¾îîé3ê׈Ê&Ý¾Š³÷uõòùu%Ç©SÞííåí>dñÑìgw“0³—wwÿïÔ,±4p¹—·Ç[;ºÉ = ½uíq2ø81üw—âQ:ææº4aŠòòZ‚È–ææÊYJâÔÝEŸ~¶†Ñ´Ë€&Ïj/vŸ±d¦¯“þ“ Zßó­i=[ô0¶Öæ´±ßâÏüퟌRRDZ+— 7¢˜ôS¯–68kM9¶õlg8|ŪI]t«ÎL¸Ï[>Í™Ïæœ=r¥ä9O£ã*Óåƒ×üñÅTS1E¡iºÅÒF#>ú|ŒCUýi=9³}õhN]I¹Îùržg‡ª‘5¡ÅàÓ\ù„ÉŒzPô¸&þȶ˅œ°Ëü5K†ÛJªÀ7òxó«/ǘÑʸ};.5á‘z- whûÕBNøÚÛß}>©›QÕ”D¾Žµ›‡Ó“QÇfÕ³ùai4iº}5ÃÝøÉ¡b«á½å!¤Øìˆˆì'‡ªÂŽˆQa×ù«ßïÝ¡êPJËväÒÅcŸ{Û²9q e,%têd¯É˜Ë0„žÍÄåï¸kq%A¿þtæÑóvž‘:u²æ&5> [Wzš‘ ŠD¢Ç[áTr ­Stq1ã±¥çמ§Ò$÷´²6¤ +“ɸšûãtïå.­uhÏ!}tiNy÷aC7²™7oÄ«‰¶÷àÞ5'Oò¬»vÓ§9EltÒó¶ô ]§ÌdD·¨XJܽ·‡võWDVö4!|—~}ªO˜$´±­µ6MØ’âÇY/›z+(…¡n#ýmj.I£´{ŽjÅãÊC®ß‘??‹hA(ØÔààT†¸ù±ã7xL3êÙü°´^ Mm¢ƒûÕˆ¥oç`L¶¤ðÉ#ï™ä°{y,%páWk ÄÝ··Ñsî[&'3‡%”‘¥…X“Û‘ãŸo;mÅ7-®èÚ†Îå7ž!ÒæV–|ŠSådæcS‚õ‡-ÂÉ+*¡h‰–¸¡k×9«Þ[ñûókß¾ºµs¿1cÇŒæm§S™UÉJJeŠJ–#êR%Eájuá)# Ó:i:ÚZФ¸4+»œ#õU…IIJcW¸¬g`½É@YIÙóúÇ”©›k­¡Í‹¥Œ,ÍkuúE(ÚĬC­ ðø_C"®ÛiKÄ!œR¡âH½ý`¦B&g ­m×£§6Ußc;º?¯/NKu¤tK‹¥%RI½uŸßø9¬\®ä%ÕÖªç8¾D*"¤\.«`Ÿ7ªÜ’P°JŽPZ ¼‡æ×³ùai4jZ’çÈ*• ’HŸ÷÷*•Šã%W߯§üò—s6Ü©ö ~—¹[¿Ù¡þk%t~ããÙ—çoйðãº!ž_Ôçñëß• …„p•*òCä‡-Á=TZ¯«ësöà§uœ†ÌY3dÖòäàS‡öž¸ssïêˆÈœmgº‰âÁÎwm/ãw4uœ›ƒ™Ž˜O6ùÄw®—ÖÝÄ_®¨›É+ä!´X"j çM‹Å"Ѝu¼ç|¿Ô£õ¢ÖŒb©fŸKKKDY…L^OG^-—) ¡%Zº êüìoE"EÔr¹‚kåzR-¾Í/A³ؤUJ!WÖ ‚ºòy¯çóùuäXY^fFzµ)Ú‚e$ì4{Å—æïˆ=û˺¡ÝWuê­8§®¬Ô$ä‡õ’Gì ‘s´Éž’¦eºv½§-í=þõ#¿ûÕ¨½{nMþ_ÿŠ3›wÞ+%&ÃWïûÊ·Ú`ˆúNÈÏõugóÓ2夛N•©‰™,¡ ,ÍzÀßÊÖ’GæÇÄd³V­¶l³Š­ÿ\¶6ÊÎeê—¬F ««E“²’ês>)]ÿ 7ý5ª„èµ™ŸM¿6oWâÉÿºÅCÒÀ\ÖârŽÐºz:ÈÈ«¼?P$V*äM)E© Eí„A”©ÿ¬Z¹?IMézÏšã-ÑèoÅv£F{ˆ(NQX(ç˜ìä %GI¼†ö¯1SŽÍO(®gŠS†] ®ù ®8èü­r–Öv÷ê,h(P6}úØñ)õýû#*Z1þmSlýç²ì; ³TFžN«µŒ<ôôÅt†’zö«–© е\QÙzuæÙyyšÑœ*üt:4»žÿ6M[`ÓeßÝÍ€æTáç/ÕÚýTtífÆs¶Bâ™XšÒ„ÍÏÈnᦢb·Ù˧ÙñÙì“k·D3Bª¾­R32+9J`bÑÆç)À«œš˜[ÆÞxnЍTÈcïG˜˜[6é„\eqjè‰M+¦Îüæl#°µj帎Ԃ+ =qðÒÃüêOW¤þ¦ähG]Š665âSD™œ^-‘ÇùiGD½+¢Ø’+¾>ûd ®<îð—¿\*âxVþûé4Üåvz}Á`#ŠI øtŦ Ìgó#Ù²´;§þ<^Þ¬T Šm ÿî(sZµé³_.¤+ž>Aäþ¡/WÉb…ö“g6¤žíkÓQJsê°Ó)ªV«³Àmâ )QFnüä‡Ó‰åORuIêÝëÑ…l3êùïßCš¶À&õ?ÁA@*B6|½ç^ñÓ§^ä\ûýÛ½‰êç~àd/¡8eüÃçnªûf:lîÀÔ¿¾Ÿ5d›µ“µ_–ŸðHÆR:Ýæ|µÀ­±1PÊh芵iEËÿ¸{{ã‡wXÚ˜jSʲ¼ììB9#ðùdìøîÚ͸mTl[ýôýpíÒü¥?Ý8¸tR ¹£ƒ¥”)LKH.Pp|³Á˾y§[õ>¾È{ü8Çs»âný8u‰®¶:ªb©ß·k§YÑ-ª3m5eõÊØE«ÅýtÚ©ïÌ-ŒÅœ¬0'·Dm;gGﮆš×ó_Ï5kM%èuþôþÖâç¦WÝæmØ×ëÌÁ€S×î>LKˆÍ$©‘E×!=ûùŽè§ßÜ­6*¶~Z¦ÿ°Û-0`÷‰«¡ñÃUM^~”™™!$)1æáÓAxéqE§>žôù¹Ó‚ÝóÚhlOvc͘%'‹,§mßÿaw$ˆ/¡°àë.®„{Gò¼'ÝÀˉ2ð1Þ–Ç$ *o›S°Ù'÷],à´<§OvCr@^õýiàå%ê:c±¿É;»ñï„ÊÖ/ž+ úsg¨\ØùÍÅc,ð9€üÚ1J·ï¢O'Û’˜=?îOV·nÙ\y连~$í¾ð‹1x€õ‡@°þæ—òC@~Èù! ?䇀üòCøoâ#­®¸ ?7'³BVβ,¢íMÓZRmsK}Ccä‡m.3-¹0?×¼£µ½Íã! Ð~° SVVš™š,+/³´¶C~Ð†Š ó ór\ºòøø€€v‡æñôô ´µuâc¢¥Ú:XІr³3Í­¬‘@{ÆãóÍ;Zçfg"?hC²r]=ÄÚ9]½Š òC€6IJ,McÍ!ö?Ñ”e䇀çòC@~È_^•A«|{¹õzkK"ûê¼)Õý-sGô»âXfÍ7¥H9·ñ³·&ŒðéÕËs€ßè9ßžÎnÝwÍÿÐË«§×'‹¹ÿXCj(æíM›·öN{vë¶í[ÏÆ)ðéÿ~ã»ð%'<|”•¡R6Ö]ŠÄfV¶ŽhºV¶©<·ÂwÙE%îòÞöM œ…õœ"kÿœ‰¿DMÞrt‰'žÖìÔ§ìîó>ú+Ûyáöóœ„í¹ªlу˜¢ruHH‚zœå“ª²y§V½÷ù¥NÜ¡“»§Ž² £Blb„//Ú2æí®–í¢ p¥ÁßÌ\|¸Ä}ñ¶u3ìhú¿Ôè5Aá|w´ßo­š²¤¨2/ôľ}A÷³Š´ÔØú5ïÁßœ<ÄNÚpï‘ͼ´nõºcw²!§—õ;ýøeaﯫK=^ëNõÿßÙFi×Ì„¯|1pùYe—…G¶Ï°¡Ÿì ã·äÓùï~Szx{À¹Ø´œFbdÕÅgÄŒ9“{™U›y¦ÑÁU§Ì¹ux÷_AQÉyå¬ÄÈÆ¥÷ð)s§ôµkºéÊ•c׋9AW?^µ×•Ù!‡ÿ:t&ø~bv‘œêšÛuvíÙßoÂwSaU…Ov˜½ï,­[û6í ¼“Uˆ ­\zûM›7¥wǺ¼š^áʼП½ŸU¤è›˜[wö?÷½ÁV¼'±:&szïÎ$ëÆÎ­/]½› "„Üþv°÷·„J{Àxû[G£¸.ïÿµg¦M­öR±nü‚}â>«ü4ΨþæÀDÙ¹çèµÈ¤<'5qì>hêÜY…Š®ÎòWÍ›Ä4Áõ}›÷_ ‹ÏÈS ;غ7ûí Ý heúC»½V §t̼‡N{wÖ QÝv¢y læÞ·§þѬ˜Ôˆ9­I‹}Î=¥AÛx|F‹·îœe™}cצÇ‚âs"÷…ÛV[]Ü^Oð[wvõ!!ꢘ«§.݉NHÏ/SÑC gÏÁ¯Ï›1Ø^‹Ò áiÒŒ¥>£|;œù;õì‰{óºx !\Ùõÿ·rºÑˆ¿¬ô5iù²HVþèaDÔÃÔG…2J Íl»vw³áÑu¾ÿ¹ü`pe=䡵&3©WvžOdL¼¦ŒvÕ{ 6ýÊ_çã´=&ŽíÊKºœSX&cxR=›Îî=:›H(¦4ýÁ½‰é¹%jJ¨mhißÕËÍVïéÿ–”À•Ež:”ÙxMï¦W«²nïÿ'º”o5pò0«ÌŒ<†ð­œj|@éØ;u ÉLÎMM«pé"ÅwE¯j~Här•ùøeïœëÇ[w7{¼÷†ñ÷®¸’°?¼=ª”¥$FVv¥LqFrð‰MÁgOù}úËW#­ e¢¤£gŸŠ—£‹h+/?OsŠBøŽ6‚fv5˜ÌØ‹{—ýýÇí-+G½‚´”ø›GãƒoÜ_³cÍHSºys¥÷6.^¶5²Œ’tpèäîL•¤ÄÞ=¶áîùK3~ýí]/ݦז+ ¾*çx.ýú[>+_¿oá{¿Ý)!bc»N®¶´,?+3#âZRd²´÷wÓgÙQüù‹l¹+×µ´µs2*ÍLN 9úÛÝË7æ¯ûy¶»6ÕŒ s%¡>Zñgt)Kh±¾‰¹[š—z?;KÒ÷mªÞ¥“…¤ƒ‹O—’3ṤƒÛðÞ6"B(q7?'õÙ¨›1gÏ%¼9ß™W#q‹¼p9‹¥´}F 4¬?Pª”ã/úþrŽš ¬] èòÌÛûVÞº5ÞßTHeËZ3“{~ç’ý[ÂUF6vÖÒܔ丛ßß {ôÓÇÒmnŒ¨šÚu´×“e%¥En‹ IXù×w#Íé–—`1bŒ×ÍŒIs›÷óï)3W˜—wà‡~¹UDø©„ÏèèW4ÐÌy„"»ñË;Ÿž-æøº–N¯õpá—§Eß;µ-üFÄâÝ¿M²åiÐð4¨ªÐu`/ÃÇr¯]YæåÆ'„‰»zúAQ[|ê\Ärß¡-œËÇ^8”\ΞXßÐXLU–eF_ÊÈpq–ò iá<|¶´ )â\tX#ÑÓ×3ÈŠ‹ Ò£ofç”í# ?s7§R ­¯k`PYVTò(!<7³°ÿ뾎Õn÷f— ãèlq''=?1±°›GÍ­…˜GI)eut°•°yùE,¡LŒk¹$465 “s °]¤<ü{xUÇ+U•ÝqÜ' .Nÿ9ôÖï?èõÃ8³†3D6ÿÌÚ϶E–‰__ýÍ¢a¶Š¢. øæã߃ÿ÷™•ݶ÷\ê]gÇsðÿhÕÈ´s¯F »MZ¾ºÅ{ip²+ÿ0îóþ¦/§»ó !D‘~æëÿûúTÆåû û +¿sÅ—^¹-²¼C¿Å¿¬šØE—&„°E÷¶®X¶)lÏÊ ‡?õ‘6µ‚•÷âméѽڨ¬üÆžwKøÎo¬Û²ÈCŸ®Ê=¸®té&¬¾Eĵ­Û,|—íø|‚‹>Ma ïíùäãÍÁ÷¶}¶Ñõà2O-M+ÌæŸþßçF• lý–}±hl7#!!D]–v?^iWï%ç9]ºj,Wtü£óá¹ÄaäÒϪF¿¸2þn&;õ`–s7AõTèì•G ­ßdýzS!&qÏêŸ.ç0Ò®oþðý»½;ð !\EJàO+VRrDØâ&±y›åˆÏö®í ¥aKÂ6~ôÞ®ûq{¿C´Üænøv¶g!D•uáÛŸ¦_ß}8nøÂμ–—`4ptÿõÍŠIó›÷óî) 3[òë'3ô‡¯øöÝqÝMÅ˲4M×ßHÕPÞ„y“ÌÇŒè¤Ï'„¶øÎo > ˆ ݽ/lì§^¦6<ͪ*ìÖ£«øø•܈{鬛M莜µéœ2±ÓkvÂï'y58¹œšt:ÄÓJúxD·8>øâ• !-MŒ*Sî†ë8ößßÙ@Há”ÙwÏžŠÈË:÷˜v÷ân!¥ !LYÒÍ“WâKÓ#Ø{Ó-/AËÖÙ&$#¡8)>ßݨú +ó(!UÆQbGk1Q–ËT¡¤:u†)©Ž”&¤²¬TÎm Wôù‡,ÃBx6—¿ã®Å•ýúÓ™G oûÀÄÙv¹v™¿fÉðÇÉ!!„oäñæW_Ž1£•qûv\*zq«ShÝ‹¾šQÕ{&„ˆ­†ô–‡b³#"ê<›­I³)ǶžÍã ‡¯X5éq'•B¸Ï[>Í™Ïæœ=r¥¤Éo͉K(c)¡S'{~µ/ÿsså,%qêî¢ÿôòRbÓ.FxÔšGû-Y=ñéaéqÂ×±vópÒÕ¬³Géô;ؘÇdœ Œ¬>â§ ;9—¥ŒîY­ ;r FI„]ç¯~ÿqrH¡´lG.]<Ö¬UZ;m4â£ÏÇ8Tõmi=9³}õhN]I¹ÎùrÞãÔŽ"´¼`š+Ÿ0™Qj5Øf–Ð옴Ró®wÓQÍ3W™–(¼æ/¦z˜Š)BHgâÔ%vŸ±d¦oUrH¡õ=ßšÖC@±Ec«öiJÃÓ´ªR§NÖ<¤Æ'©!„6ýóá¿þ}øÏYŽ-Ìߘœ˜ûùjÂ3ñàU•BúN½zunœˆÒrð©Jí!”ȼ»»½˜",C™ºênñäœ<;n&4aËró­S‚°cg[-Š-MLxT}­¹:'9EÆQ['KáTJ%GO$¨HZ(P„(•J¬@x…óCŽ{ü¯žo;mÅ7-®èÚ†Îå7ÐùdSo¥0”Àm¤¿MÍÞ¥ÝsìP+WrýŽüE…‡õܧæz.JßÎÁ˜"lIaíǬ7é`6óæx5ÑöÜ»fÊijîÚMŸæ±ÑILÓ{š™9,¡Œ,-ªMÔ¢ ]\Ìxléùõß„ç5¶ %õàYsÙe<ȯ—”â*"CcÔV˜M Ne(›ÿ»–K‹½F·â±.†<»Üòó×óYÚ|Ȉõ/Ôd’Ãîå±”Àu„_­u®wßÞ­ñ4=Jܽ·G ‰¬ì-hBø.ýúTŸGJhc[kmš°%Å¥\ë”м˜´Ró®wů¦™t2oP ¯¥cemHV&“qMmxW•6·²äSœ*'óÉg•@ßÚÙÎPÔò§QfçTp„gêXûK¾©½•¤5D¾™•yANž®EmlmU#¥´ôõ„áŠZùX³Kà[8;èÑ\yJBæ³i²ê¬¤Ô ŽÒ±w°àBX†#„¢hºž÷úøE–ÁƱä^XídöS>›uyÆÆûׯ»àõÕ0#ŠP¤fA‘’ÁÊÄÁÁ°N’gçìÀ§R”i)Ù,qx!Φ;ØtÔªÝ;ðù!j†ášq0“’”Æ®4pYÏÀzû¾e%eMî1%Eå¡õ õ«GCà:gÕûq+~¿s~íÛW·vî7f옱üítêDŒ6¶0­³–SbïÜ‘w6¦,+§œ#”Vg¦f0„2ut0h•Nîk£ü~½vêVYßÁ:!¤âîÙE,Ïz¸_·æø1Ù©Ùê IDAT™Ù,¡Lêä |kÛŽ<’×âüÐÈÒ¼V&(BÑ&fj“Çç± ˵R ÍŠI+5ïú¢­qc¦LÝ\›9ŒËªd%¥2E%Ëu©’"„T}ñÔ¤†§yUz†Ú)*-*åZùq¥eå,¡t êä‚´®¾.E*ZÜD%ºÚµ†æx4M¡¥Úµ§tR4MáXŽ#Õ>Š[PÝÁÉÙ0:¤ 5.½§õ㩸•Y i ŽÖsp0áBÍ£ á8–­'°_¤yX|ðßÈ :¿ññìËó7Å\øqÝÏ/êóø¼Z»úÉ•¡¤ÚZõôôø©ˆr¹¬‚}!#Ÿ„Pb­¦¡ß¤ƒ™ ™œ%´¶]žvõM&£Ä]Œ›üÖT*ÇJ(Ô_é6÷·ýý/Üpô\äÅ1—v­·ì5aÁâùÃ«Ç•â øu« ÑÖ¢áTJG¥A…ÙŠ %G(-©¤uÑ6þþn[†]?}³xЊÈnŸ¿^Ìò‡ìÜà0‘BQÙ@û¡$­R1º¡bx|>Õæ%4'&­Ô¼[¥1Ó˜i@™|`ïá3AáqÙåªÅÓOަ4<Í«J …BB¸J•ª•óCµš%„ën³E ‚Vh¢ CÑtÛ—@é99›†e§%¤Éí%„¨2“Òmhïô8”H,¢a”ªºk-Y•²’#äñ,Sø/䇄;Í^ñÆ¥ù;bÏþ²nh÷U]jõCh--Ed2y=2µ\¦$„–hIZ99d+U ì¨Q/¥)Ób±ˆ"jï9ß/õhiôù|>!„¨+ëÖžÖq2gÍYË“ƒOØ{âÎͽ«#"s¶mœùlsV^.¯›iW”Wp„Ð"‰˜Ò¬Â´H$ ˆZ.W´R‡š6óÝ{cØ•ÀKùÃ_ï :TÊ ºŽÖðàqUòzÖ/Õ¦¶n­^B3bÒF5iíÆ\Ńï,Ú^Æ3î2hê8731Ÿ"lò‰ï6\/Õ¤ái^UN]Y©IÚßä˜óù4!jµZ]ßè™ó*¹¦ ñþ (;çŽw³S2S*]´TIJŽ6qx:º+ÔÑSD.+—qDXs[Y™Œ%„¯££…ü€¼ºëk½6ó³éBîÑÉÿª×Ü)žoë`Ã#\^BbÝMh˜ä¸D5G‰¬ì,šUmŠ¢ï—S{^››“û¢ºZ|+[Kaócb²[¾ÄF ««E¶¤á)p´®]ïiK;¼kù@#RµwÏ­jk7¹üôŒ:y¸<).!´~GóÇÉš^ažEGsšpy‰IÅ­LʰÿØþú”"üìÕ]±)(óىٲ´;§þ<^ÞôªÐ–NöŠSÆ?¬¶÷"WzâेùÕG')ÿ„)9ÚÄÑ¡zÏ‹-¹´î˃±Oú¤lqԞϻYÆñ­GOê§­q…ngxH‰2rã'?œN,ÒyU—¤Þ½]ؼ¾¬ÈÝ”-­Šº¾ãlH)§ÝÛ¯¿Q£]GQñ¤"dÃ×{î?9§*çÚïßîM¬3£¯}4‰¶ŽI‹?$¼§Z³1×s^cS#>E”É éÕ²2yü‘ŸvDÔXØ”†§iUå ±© ¡;:Ø‹>ÿ³xÂøqãÇÍÙÕÒ/øæ] hR™r-2çi=˜òÔ;7"ëf|üfF<ÂÅÇd+«n&ÜÍR·Ûÿ+ôÓi§¾3·0s²ÂœÜµíœ½»6«…:Õy׆['/qD„_½çtç®ZõÁºàÛg>`çd¥Oʲ’S±vSæø]ù3° f‚Ý.šD[ǤŠiƒ÷Tk6æºù¡é°ÉwDœÙ¶pfÒˆÎTyvLȵ l«Iã»<YíÈ&4<ͪªŠªàh#W7[!„°–²'½Ÿ¤"’åÛÆÝxçž¹žy÷øþ†º"¢*/..çô»¸;¦ÞK¨1¾IévöèüðÜý¢çÚØšê9ei^FjŽÒÀÚ‚¤eÉÛg¥œŒî…dÄ&sDìèl-ª#÷Ð#ÿìÝœ{'ÿ~¨«§-dÊ‹J áé9õéëˆÅ‡í5?‰ÅÖöÎæVvOž`ØÐ²>J …BM—áx¿»tBÐâC™u¾Ž×ê4ý‡Ýn»O\ ®âiÛøø÷õŸ2Õ¯“.ýüœiÁ†Ÿ´ÖoûçflÒ½‰‘õ Cñ“ÔÓûÃím·î:y-òúÁ(Fb`béØcî3¦»?ødTèuòÂ6pè6oþ^gœºv÷aZBl&H,ºéÙÏwD?}J“Åh½¸ CBb¯^Éž6ãñ4Z¿ÿ¬EizWnG'&F¦ßgh±®‰M‘Óü§¾1Ô¹føxßZ7·gÀÖn?Œ,V l=|‡O›?½Ÿµ¸™¦M­Úi?ðPÀ¡ ·£’3’T´DßÄ¥¯Ï˜šöÓ¨§i=b´çÖ·”É@¿^Mx¼¸ÓÔõ»îÜwâFTrLT¦¶©“÷ôEófú]HÙ]3?l7M¢­cÒÒ±Á{ªs=ÍÛØwåŸ"û-çnÚ|‘H ,:yNX»æÍÜ{Ç#+ˆf Oƒªª¢/å³´AßþUO áu4ªËÅ€4£‘#ÜE-ÿØ5ê2bœÁƒ{Q±éyÅù¹D(5´ìêÝÝÍQ’\™Pkþ«È²ç˜‘úa‘q©Rär±TÇÐÂ÷[7³¼ Yií´‰RzÎayjJjëØ±î^­‚=FŒ1о•™[\PN‹tLlm;»vwê Fvðïþ733#„$%&Bb"Ã<|ú!(/®èÔÇ“>¿"wZ°;`žCSŸV´ÊoÉ1™Ó¿vηo÷[A(CÖLøà`¾Ù›þ^Þ]ˆkŽ˜´5Ù5c–œ,²œ¶}ÿ‡ÍˆnXðõnÞÿõ ª³®<ó B»Û¨×û˜áy†íTTX!ÄÅÕƒbïàHþ•ýK¡U|ßãmyLÂÑ€ rͳKî%x‹²3—òYžõÐQÝ!&mÍ>¹ïb§å9}²¢Û\•Y É­gïd‚ä€àùð∺ÎXìoFòÎnü;¡òÕ{{ì£3¯r®cý]ø¸ÚˆI[ãJƒþÜ*v~sñ |>67в„)rŽ×ÁÙ©‚€ü^(J·ï¢O'Û’˜=?îOV¿Ro«ˆ=°ö÷Û2Údø¼1Vh¬ˆI›G·<ô_O?’v_øÅŒÎÊJg5Bíès23LÍ;ìOÐvô õ ãD—Öš°Ð2C¦¤¸0áá#c=C#‚õ‡mÊÒÚNª­“›™‘–ŒÚšÇÓ’j[ÙØ×M‘¶EDÏ?䇀üòCxùaÿRhÅù¹9™²r–e €ö‰¦i-©¶‰¹e½{­#?€V™–\˜ŸkÞÑÚÆÞ‰æñ€ö‰e˜²²ÒÌÔdYy™¥µòCheÅ…ù…y¹N.]y|ü[h×hOOß@[['>&Zª­ƒõ‡ÐÊr³3Í­¬‘¼,x|¾yGëÜìLä‡ÐÊ*då:ºzˆÀKDGW¯¢B†üZ˲45‡äåšhÊ2 òCÀóù! ?ä‡/ReÐ*ß^n½ÞÚ’È>ÿ`Õý-sGô»âX&Ûª•àŠŽèåÕÓ냓Å\Û½UÎòbªíç#¢&6ýÊž?7ýy,´èßþ¨[“öS7€v€ßø~tÉ ee¨”ŠFŠÄfV¶Žhºn¶ÉÅœ 8x%,6-¯TE‰µõM¬\º{÷ñÖßÍDTó`uáƒKGN^¼þ0)»°LÉ ¥æ6º÷\â¾xÛºö¤=S&G?HHÉÊ+–)Õ”@KÇÐÜÚ±[W' Uû²*óã""cRs Ê•,-Ò1¶p|ÍÝÍN_ðBÊ€W3?LIˆ­(/ëáÓ_$7r˜R¡ˆ½/%!ÖÞÙ¥æoä1ûV,\;Ÿá(Z¨­¯/”—æ¦Då¦D_Œæý½}šÅ³î®*åÔ+ÿw"¾œåE‹´õŒhUYArôõ¤¨ëGöìñ_¼æ³±’úzßѯýlãÅ” ŽŠâ µõtyJYazL^ZÌíË¡r»ïwn䟛ý‡…k¯æ‰œßZ»vvUr¨IÍ›‹6ñ}ç½Ë—7¼‘¾Â]ïòà?¾ H&Îs—¿åÔ” M‰ ÌÍu„Ž­”—ä¥Dç$G_?µwc—ñËW-i+FPÿ ؼ#ïŽÿÍpÍÙo¶ùç¥ÛsÑb¿ëKOý¾fŸÏæ™Nèì¿ÈOÙÃSC$ƒÞbÃ{þ§Iòõ®Ä3”@jØÁ˜¯®(ÌωÈNLHï?jPgÝgÿ—¸Š´k§/Å3„'ÖÕ3¨eÅÙ‰wsÒR]‡ú{™‹Ú¶Lxuóܬô>ýO !"±¸S·ÐàëµòCuìž/6ÜÎçt»¿õÉÊ™ýty„0ò¢ÜÔØð72쇚=û·ÃfŸüüýUWòYyŸé æàf!¥ !œª áöé¿¶lŒûçï3[~`]£Æ\EÄÖßÛ]Ή;öš8oÆèAî¶úB#{”vëêÕœÎS; ûw{oËŸOå:Žýò§½ô(MkÞ¢N™ç›Ë<Ñ_i•±û~9žÉzºsÓºù<û©?Wâæyq·/žØ½ûxhô¡Ï¤ýñãŽè‰½úYCñí*2èŽÒë3w¶Çŵ¡{Öö[?ÖÕ/Œ"3-GMìšr¨*-$(¡˜[z êj"¦èåE^>œ‘r+$ÙÆ÷éW¨ò¤à‹Y‘™û°ÁÝ-µhBØŠìˆ ³"¯›`%lÃ2€¼ºëUJ…H,iJ)"±¤ÎT6寤J"è6{Íûƒt3Ê“˜wö9oé‚ÁÆOOÍ>úç‡ï¯æ³û©?íØðþÈî“CB%üöÎ;>ª*{àç½é™L’™ôÞ©BïEŠHSTT,€ºîÊê‚(ëê‚míº(«¨(¨HD”Þ[Ò{o“I’éå½÷û# ¤‘Ì$åçûñçpsï9·¼wϽçžë>qÙ†¯¿z&ÞQ\ÜøÞÞÚ.Gõ´×¾xí»< ˆWlܱqÕ¢ä 7–Ð3râÂg^ûË$Wâ–bËö®}åû<ƒë”W>ymª;i³ä·œl‘8½B€QŸÛ¾¿ÄL†-|x‚ˆØÄï9ùáµßlÿäñhFquãúmy&¬Ù;KÃ铆?ôSàsßÒ©BòÓÏfl€? ZSQQo±2­¼¾ÞÀ¢ðQqí†<÷¸Î$˜ë[èÃ¥9Uz†í•<9ÉסíkD:x'NéÃa4%Ù¥jfóDAàÞ?äÔX¯Ó3¼Õ„ÖÛ߇MTrÓ2u“G;ÜÚ<,?¶ŠvÄ} âo9'ä„-œÿÝÇéõçÏå½”Än3ÏÍ12¤×Ües¼I[·Ò>Zýö7ê±÷>~ˆÔ6×Ik³Î—gWÇÍNô´"د¬žÊ©RÏ_×3¬è‰“|í0µfÞ÷èÄ­YÇÕ©'SUsæºX7³Rlº®äĶÕ{¾¾¦wò wm•V”¥ýòùµ3ŸÞøÉS‰Ž„­Ý†Q]ßôußå¶Ò@ò]<¼éÖ¦ªaÖÔ0'²Û’À±SF6_èÈcŒ:U£ZÃöAÜtÀ¼òûé2Còœ$Þ|ÂÔÚÔ$+Ψ¯jÐ/š=Ì¥ŸQHª‹ïÏ‘™xΉ‡P¯”ËkŠäµ5ÍÓL ïüÞ¶ZlJž{øpšÔl7O¤S«[ªJލÇN>þæêÊF=áäæÓÖÍH±3 €n©*iÒ›}IYÃøà6)ññä©* e1|o¬[˜ë‹Ëå4áàб IË›4®nÝ?©\7O1YÑØÒÐBÇY04y"‚ hÞr-ÖuÊÂ_¥’î_÷"ÿŸëžšâHöz°¨°ŠÒ-.1€ì+˜K|¼™^ÞT×@'ù’ ÍË.¦€t9!ζcŒ.ïÛµ¯î,¥ýï{ã³çGôØx´Rò[cÎ;|Èîë?ýëÞ!Œ¶ô×7Ö|x<ãëW7ÇïY“Ô÷4‹Ñžýò ·ñÛüÆ#‰nlCÍÑ·þþÖ¡Ú3_îÊ¿ç…Øö6£Ê~Üðñ™zJû؇<7Î Œ®òÈÇë6ìK12Ðo¥Ç,^ù`¨÷üSÂ]Ú,nåÕÏŸyqgÑõv¤/x5™ks)¶‹DËÓþûïßj]f­{÷¹…Ã=ùMÓ$0Ê3Ÿ¼¾%[ã>qõ§ëˆq"€Vd~³níæô_ß”´ïÕ1BýÅ·^S±#Ýøõª¤öÉchÈ¿’aŒŽãZ“ìWVoý =ÇÀ¾IÃýí³óâ8"yûxª±8¿”š;Òª±k­ØŒîü7[|f¬ÝúÚâh(yæÿ|å«ÔÌ-ÿú2~ïÚ‘6uºùð^û.GÍ š³öß«ĹrÀ¢®Î+1wßµ¶æ¤”™ÛYý>ú¶9„ÎûÇú¹Õ[WœËUpã–¼¼¡[|ëU³yÙÖ-êÒ~?–Û,ËΩœèÓ§õB7æç ƒFÏŸãÞæiIi*/9S¨ª¼šÛ:ºceαÍÕÙ™uÒ5nÖ}£¼;¼7-Ú&©ÌâæÁ"‰ðÑ“ÃT™¿U5êYžÃÆM韆pruå#[âÞaØrü’GKϕ瞿ݤ—¯7 €j”5Òíáýê, ¾þ6EÛ3Wî{íå/³Ôà4iÕ “{u™²Nò¾„u›³ú_óB:>¤„0lÁëkf¹TÍ¡½çZûuü$&¯zsY»q|ÿYÿx<‰Kв¬,YÇiSúþ=FàÆ>½áom3? ‚æ¾´z•tø‰ËÖ<1£}’ ¤ËÈÇ—Žà´¢°¨½–m*e"1æê2ý´·¿ø÷ÃIž|H’ºòÀ7Çšɬuë—Ät¬Å“âÄ•//`ÓõÇöŸU1tkc£ž&áãoî |Ϙɳ“l`4õ ìY-6cÒjÍ Ávõº™'[èæÝ¿#&!Œ˜µäþ%,Y ¹¡Žcè¤ùÓb½Øª’+Gwîܽ}×Sñ°I‹îuÓš1 ‹ÇéÙh$—Ç!ŒF#3„y"‚ hö5=á©Í;·¼ñøäp'CÕåýÿ¹bÎ}O½ú}ŠÔÔé:%ƒ‰ xÞ‰d´Ù× -ý^p0bÚø®au—àP7h•¼C`ª"=³‰&8ñ³çtÛœ$ÎçJÔñ@kµms)›JH'ö¡•S»ü#-½t±ÄŽ£¦ëêÈ ˆs!CQn9Õv&/:Ú‹E·žøì½YLý&°cY=¡ê¥õ4®¾>v»‘‚àñxm¡£ÌŒ•Ç­›Žš<Ò±ëOnS猌.ûzÅ–nCW¥¦VQ'aÞüà[™ÆV×ü6ë¨ßGß¶1‡A©6ñHzûû² ÆT/mn7T9.Á’!˜Ë¨jk”4°<Ã"œ»ÉÂõ q&Á(­®3w$–Ö*i`yFDˆm}·ñœœ€ÙÜï˜a{úu«<£ÁÀØ.6!pww$cyÚ…Üz5€Ï3ßÙÕEÐÕ #yŽb7'@5Z3AMwYW )€ H²#´íGš¢‡8OAпôÖ_8ñ°«>XðlsÞÅcöïÿýjÁ¡MkÎZúÑÆUcÅD›aH0FCßçå£ÑÀåñˆv#ŒÏ#ƒÞ`S0-+ñ©ÿ¾uìïÿ”Ie4a¡=&zì€ ?4ÙP)&­ªUk0Ó XZ0)e@"ž ñÝö2¨Êòj ˜Ö#kGéµzÕ*uÛD„¿|ýߊ×ýïê‰÷ž=÷MÔÄù æ/¸gTðÍ[äûM`DzzÚ‡*…†ÒEâBÚ1è“€ |+ݸ¬›tóñì±/‰ðc+P×Õ÷ÒioÝm,ÒªZ ϰÐ[wtëk~JÙž¹=Õï£oۘàêm@ã‘ã,q$@Ѫhê­ ºUÙJ!’ˆ{ÜÁ¤‹«˜%Õªl¯xºU©¦p’ˆ­<ÉPfƒÑDÑ ÃÐF+-3Rè,bõ4}H€¹Ñ26‰Mz&NÕrꪴüâïU×Ý"##¢B}]¸öÁ´´äŸ=’Z¥e»†™<2ÌYWS”_‘wá—ªê±3'Ǻ¶õa’E0 M÷Òˆm?’,ÖPæ‰ ‚ }h \·˜iÆL{èÙô^Û|±`çk¬Ÿ$"7O7Qdn5PxëÉÝP'£Xž>íd¤›§;‹(4Ëj¤²öp °äÝ/ž!dbÞ^ZðÜOe'>x'9úã%þ,Û%ïkÿPÀï© _À'nî—ö¹ýè èwA f¡£Ñs«U(°fb¬Kݳ}ßÑ”Œb™ÆÔå«ÏP)‰l;»Òe¬Óêi ƒGŒîí4 Áé¸b„Å­ø|פ3{¿ßùËñìS[ Nÿ™ïØÅϬ~úž0Šö,«;&“‰a€àò;Ûš3o,ßtµÓýì˜ß¼9׺H¹tsu­†ÒÓׇmý–°ubl»§G€1ovZkºNgd€pè«ÚPó¶+e{æöT¿¾mcƒª·G‚Ëå0f“i¨íCÆb¡§·ã$‡Ë ÚöüÆb±´5R?ö“º6?§ ´¦¡Ec¤[=eXl6aW±¸Ãg/¬,ÈÌ-,o¨Èl®ÈJsò‹N;,æþïÓ2äoû˪¯2Ô,·˜©/Lõ‹øl芃ïoºÐ: R+ÒM§*>‹hÔò^J꿃’¢ðéËßžþäË©‡öíÜ~ðê¥í²²ë·|ùD4·ßö.«K—i ßEu†Ö6Ikk:ùDrÜÕÖV #OM)´éoÛuÖˆMë5úžV§Ñ1$Oо_iS·Ñë Œ½ZÙ6¥lÏÜžê~ÜÙet h<2³ÙJKi´] `ê]Úlj³ÂÚÅ X,Àb±ô5V,MY¿½^o$<‚c£<ÅŽ|›`”E)iÕÆ?Cìv§pIpâ´à„ñÊÚ’‚¼ì"iMö¹†Íü¹ n¶í·«òKT4Ë'al´K§¿$ü“§ŽjÚwQVž[1"0Ê€+ñ Ðk5ZºnV2Zµ–`‹Dm«C‘'‚ xþÐæï«04ÌÚ V›X!'°ÀRöÛÁì[zŠZ*þ–cbH¯ISboDuž09tÝ¡]çXìæ†?ñƋń6wË¿6gjm—üÖóøæj©¾çǽLJéìëm—+¢X^>$0M•Õ=n%¦dýxT1-G¿Ú–Ù ÷lØõí[kž|`áìéÓ§Lž6eb|—+m*ep"u²«üƒ|Y@7Èl8ÏB:[úÒçû¾yŠ+hr¶ÿxYoE‚!*«Íòsrr VuvÕ#œæmºt%ëêÍÿ®}ý•·³èsvþ˜¦gH÷é³Gè¦>ÅfškjõÝÛM_^\Céâ×Öi­î6>~Þ$0MeåJƾ­l¥R¶gnOõ?îì2:4)•RÃéä,ê©>é"v&ÑÊ=­lQÐ,'—v1‘“ˆF«PÜú4¾4=³ÞÂÐ)÷ß7elBtThpp``p`€‡#ù'‰Ýõì°‹ìØÙ.$SCNv­lt.Wk( xbq3Œpps@kµz€tõpe­ljî^]ææF ¤³k›ÓûPä‰ ‚ÜÙö!—Ç7ôÖäb4è¹<+ƒp0­…ùÕ4°\½½Ú‚°#—<2ZDR5?ðß+ º· r¶¾»­ÐÂ?”psŸ†~ÿÒÑ"’n9õéú_*°>Ìò¿þÕÙÞ¤¹tÇ›]T2¶J~ë³’ég»E¾a”)'.khÒ119Šc†c… O“Œ)ãÄén!-åç/ÕöcŒQ²ŠZ#C’gNêâÙH7—”vܦR'R§>8~|0›°äÜ•¥³µ^øÁ÷Þ—Ä#ƒ\®gúO0”e±<|=I ›ke¦Á··±ê÷õ¯ï*·N£ž\>jPÑõ.6cʸÖ5¨'Ó|æHŠŽ!E‰ÉQl›ºMpòH/’1e>\M E+Û¿Yí©þàÇp8À¢7˜Zot}­ÔÌŸù(u}¥TeŠèen, KJUÝÞúfYI…Š®O€§ã0¸#T}i‰êf1­V¶RlŸ€.+pŒN.70ŽØ½Ù÷.áÞ,‹NßV©,’Úl¦{;¡ªQªt‡)àÀ ÓÃt”Ëõ A{ˆ\ß _XêJʺ¬ 0šòÒZ3bÿ€¶àFC‘'‚ rgÛ‡Þ¾EyYýšˆFƒ¾(/ËÃÛ·ÛQ©“›?úæ`J^­ÊxãÃgRžøßêÎ(nèܹñ쎘y÷½ôÒ$7Ò\¶kÍʾ:‘Ûhèø ³¢ôâÿ~æ/[rt„dâ /?àGv¹óâ¾µ/Mrc1Íçß_ùÄ›;Ε´Üp¥bÌ­5¹—+î3 á6yÍÛshéwÞ;Ü@Û(ù­ Ug7½µ¯¨#£)Þ÷Ƨ§ ËÞEöi9ÞˆE‹C9 KÛô֙ʷ^ÔŸÿß»ÛË,ý^ÀáéÊ&ÀXQZÓiæ§/ÙÿñÖ¬.l*eP"užØ†ßÿÌ4W‚ªÚùêºÍ)Ò›“;Z]}õÐwû34í!lÕ×î=]ØÜyiÀPyä÷t#Cz„…:ý&°cY½T²oxˆ€`Œ%…åÔ€›™1+«®ܼîá'Þ9VGqî]ÿú›ƒ€*ùþ…G?ôèßw•÷>k¶AlZuzã{‹Z鎽œ_ûü’šaÜ·d¢£m݆“ðÀ²$!³¿ü燇Ë4²YTU×.äÊi›Zy@JÙž¹=Õü¸Rè'$Kúá#•¦ŽG}iQ¤_h¯mŸñ÷Õ‹-\´pù÷eØý¤È‘á"ÒÒxíô•òVËŵ¦üóg Õ K“|c!„ôŒŽ÷急áÚ©Ë%ŠuEUuUz¡€ ”òÖNcÁ,/LÍl þ$±²âüŠæ.‘K-Ê’b„ÐUÌk; êìÄ%€–•–*©në¢%Ç÷ìÙµ{÷¯Ym˦|ÿ /.P²Ì‹Y,^ÚPŸ}áj…àù†t”,NŒt&-õWÏ¥Kuí7Béë³Î\“š^@ldG´¥¡ÈA;ùü¡`hMeéõÔ &£¡ïmF/ÿÀÐnf£ìÚMY{7Áâ‹ÄÎBiVµÈµ&š!¸þÓ_zy§}4–ï·6‘¾þþï¥ç·¼vþ[–ƒ‹«‹€4µ¶´hÍ „Cðܼóú€îâ’> ßúÞû×‡Ë ~Ûø÷ß>c œ%N<¬S)5Fšá$¯=<1¢/‡NÂqä_ßøKγŸgŸ{ÿ­}1ÿ]DÚ"y¯æç=+¦TýôÁ“Ó·„ˆÙZYIiƒ–&DqËß|&Ánwp¢V¬>ç…©W¾|ê¾=Ááþ. ®«¨l ƒZ>çìwGZúš§zÞóà”­Y' ¶<ÿDùìÉbB#+H;Ÿ"ó_²høÞýÙ,e0"u ;sÝ{ÕŠ—¿¸våËØ*ö ôt$Œê&™L®§8cþ¹`ÑpG` ¥G7þçíOxbÿð`o‰iWKUNÀ¼çŸˆe÷ŸÀŽeõfÂÇ% ã½R›žYGÇø[ë{E•ï~éc\`,úÖ–æ™aAÀä§þýê²d ÙiYzýzY™Ù%Öï>ªÖ‹Í‰¹÷^êìÇOÎÜ a©k‹Ëu4!Š_þÖÓq<[» éÿІ׋Vm8PòË«K½ïíãÆg´òúF•%hùÖq±j~`JÙš¹}Õü¸Þ¨E ÃŽ_|ù£‡Œ ™”Â9ï¾·ÔŸ´A5›Ç£)÷zŽŽ!]ã‚Xtmaa+Í0ú¢¼r„ ìüõጞ>VwâruþñŸKEb±ˆËTr…ÎÂŽÁc§ô`uÞ·‹™<©ùȹByá©}%—D"6cÖk5Z<|¾¿‡€ Cc‚2Êš2ŽP†J`R7×Uר†Eyå4þ b3”¼ôÊ…ºT¶ÀIâ"pÀ¢omni5Ò,çˆäøö@k,ߨHIyVKmÊÏ{Š<\x”>}z¬Á´67sK“‚1 „cĸ ²cçʤ©¿íΑ¸»‰ø,ÚÐÚÜÔ¢³0ñ°‰ã"o~êØÞ#&h>v­>ó·Ý…NÎŽ\J£P(`9‡Ÿp32ÕPä‰ ‚ÜÑö!ωðöfú »N‡Ãár¹Ý.i˜þô -G/gVÔ6*Õ- à‰ÜBFÄŽœzïý‹Çtÿ˜ðƒç¿¾mÜâSûž¼”YXQ'¯W1¡80&røØé ÍLt¿E@~È ?Œ_||ßogR² +dJyc+pÎ^á‰ñIcg$;÷;/çF<ùÆ O½!í‹×¾ÿvE°m’÷@7åÉ5cî‰Ý¶y÷©kÙjŠ'Jš>ëá§™À·gãñ#þìûнÛv¼˜SQ#uô õȪ•OÌq=YùC߯á6ãõïx!_ï<~9åç¯N@ì9rñ{o?6™Ù“ùk¶n ¥ B¤î*WnÚ1öèÞ‡Î_+¬.-’Gèê;}ôij'ºíG&=¹ªÚùì•ܲ²ìš<Šä;yŽ˜»tÞÃÎŒp" ßv,«%$c''rÓҊΕ-]æk¥Èåµer H‡/ –8jʬÙS£]»-LPÅef†O˜™$¸Õi)«ÅfE=¾qÅèßì9y¥0[i∃’fÌZúô#;uZº é9uý¶)?ïüù䕜ŠÚr)pñˆž0fþø›¦¬U5?P¥lÌÜÎê~ÜñâžÙô±Ãg[~¿TTž™%p ˜*áÛ¬šmãÑ”{&¥™&Å&ŵ½mY‘Sï9µ³ÚuîìDÞP|8®q3z–åfUÉä-õÁupö‹ˆˆ‰ síÇ‹MY *ÈÍ/—6*[Áæ Ýü"ýÛÏ:O\0ÓåznymMÁµ àðE®>Q3¦Æ2yõE–?^l‚˜0Jů¬mTÈZ- Áæ ]|ÂãÂcâBn¦c{$Íɹ’QRÓ¬¨oà88 Ømþ‚ÂÝ+rU‚ðP/VÇaÛˆ© Ü‚ rKªëš[jfØ‘$pXPtlt Sׯ9Ç}Äìù®¹™9¥ÒFe‹†ä‰<‚‚¢â‡‡»w¹g(òDAþŸCxyy@yY)d§'™ˆ•‚ öQzeÉkgõáÏü°se¨½o£ë÷øU@A´§ «^}0 ~ühW…Å®g‡^úõrÚæq: Ö:Ô\ÿ⿇„ßÿ÷²(ÜDAAAÐ>DAAAÐ>DAAAîºÇ§iii).-u•HKJË|¼½…B»<ðy¼òÊÊ?6‹}>„Y(KuMííó`0ëd²ð°P­Vwû BBàÛþa]}Ih"‚ÜÁ6›sízúÈIÝþIZ]!onôö  'Y,¬+A¹ó )J­n•VUh5j߀`èÿÔÝÍU `•!‚ÜÙp8l­N×íG¥¼YÞÔËbãÕ¸‚ rÇB²XÎ.bGGQIA®ÐQÔW|“ÙŒõ… r70~ì˜n¿4ʤÞþh"‚ ÈÝ‹Íöö h”Iû²[ä ¬)A»´«×ºý¢ÓjDNÎX3‚ r— rrÖé´}Ù‡þ>ÞXM‚ wf‹¥Û/4M“$ž9DA¸{MiŠêË>Ô XM‚ pWú—"‚ ‚ )‚  )‚ ‚ ú—"‚ú—"‚ ‚ )‚  )‚ ‚ ú—˜SÖÏ›0öñ¯ËèA¥¹)ïë³Ç/Xw@JÛUPFñë‹ÉÉ£“_øMÉ ]uØTÊ#‚ C8mö/¥kÎþøÝæï\WüÙþ§$·lw*Øú‚ w ì>üKiš®(-l¨«5ûÚWäòø^>þAa‘$Ivýãñu3Öž¢£ŸÛ¾cy0yÇ=ùi %-­Ô²Ð—‹}뎘«¯}´ò?É"žÿöË•á}4ôÝÕÿ‘?¹[¶¦¾óÄê}ªÄÕ[6. áú—ÞÆ˜ä¹ù¥•uMJ­ÑBpD¸ØpѽYÍÅYÙUõ-#MòDn>aÂ]8Hž¶>‚ hv÷/­,-ÒiÔ#ÆLâñù}da4Šò2+K‹B"¢ïæª$=fü寕¾-ÑŽBãðž†kR¿xwgD¬xùñplh¤/è¦ýÏ-ú\òö±w§ yW!œF¯Z=çÂK‡þ÷öŽ1_=ÎAÿÒ?ð­ -<´7M0õÑé¬þß ~?[¢¤ŽPâîãÆ¶èäÍõ%Y²²ÒšI÷Nrº¹”ÄèªÏ>] ¤€Åwrs,Z¥¬ìZ}uUüÌyÉÞ¼¡ÍÁÖGíCèá_Z_W3bÌľCàñù‘1 ×S/Üåö!â‘­‰}êŽÆ\´ãÓ_¥ŒÛ½{$­C¤ï¹ òÊÅ,Lý£^@ÎãW<•tê½ë?n<<糤þ¥ãÐD´iu½‚­IjªNK)UÒ|ßä™3ã=øDÛ–NSö™©µ•—Ó*g„ Ú“êËS/*ižWâ=Ó†û:´N–uòdF]öùT¯E“ý¹C˜'‚­ àùCèá_j2x|5¹ðø‚¾}Pÿ¿[~$z"À¨Ïmß_b&Ã>÷-*!Ô)?ý\`FÿÒ? ZSQQoeUÒòúzCˆÂGŵOå€à¹Çˆp&ÁÔXßBßp.Í©Ò3l¯äÉI¾m_ ÒÁ;qêH£)É.U3C˜'‚­ àþ!üéñKÍM×îØq$%³¬Ni …nÃFM{à±§ ‰ÞïÜ}ìRzIÂÄqvóðˆ³hÅ_§ù·»wXçŽ:r5·´¦Ym"Ÿˆ‘Óî_¹lZˆƒíÓz‚ÃeëÊOnß¼ãDZi½š¸ ?÷‘•Žñáv f3gÍmøß¶o{&”¼ñËïžOïþá1áõ}ßî<žVT]¯¢®þ1cf/[þàX¯îN`TKöþm?þr>»¼IË=†O}xÅ“S¸ ÿW·ÕZÛTе‰Û”õyvï¶'}e¿ß¼õ@JI£—øü·_/ ÀTyß?IÉ©hÒÐ×Àèq³ZñÐÿ®ûÓFYÚ¾Ÿ~>ššW&Sè®Hâ?zҜų=¹V%û•Õ#$ÈÙ” 'vÞœPÖ;>úÕœ²~ΚßÜŸÚµýI‡Ë;6o?r¹ NEñ$þÑãæ,]ùÐ8?Þ»JÿcÍêÚ¶Y)ë3 õûîÏýä@KOoܰñÀÕ:pxíÄÃmyrǽyä“N„­õfý€޹w†ûÑÝUÇf®ŒI棾úÙß_ßUã:{ݧ¯Ï販h7ÿRZ'+ÊÉ)­­W¨ ‚ãàìáÒë™&Z'+ÊÍ-«©—«õÉsŠœÝü"‡ îpƒ£õÍUeÅ•5ur•ÎDHâ=<>X̱b- ÔÒÂŒÜòº•Ú@³œ<|Cã‡Çø;²,6¥©ËÏÉ/­mRh †ä D.nž~¡Ñ¡žtuÚÙ´B©Ú%'¶•´ýËê#÷DòLuWŽžÍUñÃ&ÌšÔö-#»›4›Í n ?´¶‰¶xh—¥(Bî—&­h¬ªÖEÇ´}‡"Ïž’cëß=­ Ú‡pÄ/eTé_¬~åÛœVš¸úG )emEêÁÍ©ÇÍyõÓ7çúsº$¾¾éë¾Ëm¥ä»xx;Ó­MUy²:Á„go¼Ø´?ý˫ǔ ÛÉ7|؈h¶¦:7/ýЖŒ‹Y«ø|IÍS{ºð‡U_,¤]ƒC£âXšº’²´}Ÿ]=uáÙMŸ<×ßû”’Ú¾v÷WTþaÎ-Õ•%—~)I½˜÷öÖ·çzÞœ°™*}eÕgê-À„E‹IôÊŽ×/_^4Ï“K€±?)­ÔÚ¦Rl‰‘7ÉŠ÷|øÂ§—À]˜6 IDATlJ$–Lkæ—«×~“­&î¡‘‰„ª²èÚM×Nœ^ößÏŸKî˜1›Jv<ÿ×ϯª€ïDj›ë¤µYç˳+„ãf'zZ‘ìWV/ý4õüu=Êž8É÷ÝP¶RTº®äĶÕ{¾¾¦wò wm•V”¥ýòùµ3ŸÞøÉS‰Ž„­]Åš±femL)›2·»ú}ôçþr` :ð9^wñL®‚ôOž3Ò›`‡r[ëͶ1ÈŸ2V²÷@ãù k“ØTñ¹Ãù ­Þ‚¼"UE¡,f‚ïu s}q¹œ&üÜ;ì$y³‚ÒÕíûr×ÍSLV4¶4´Ð1B Mž=%ÇÖ¿{ZA¤¯ø¥tóÑ÷þµ%[͸Ã;«î `iIßùÎ+ÿK9òŸùoùk4÷FâÃÿyí»5'hÎÚ¯ZçÊ‹º:¯ÄìEÞ\D_¼òÁPïù ¦„»°håÕÏŸyqgÑõv¤/x5ÙF'{sÞáCþs_ÿé_÷† `´¥¿¾±æÃã_¿º9~Ïš¤¾}píÙ/¿pÿ·Ío<’èÆ0Ô}ëïoª=óå®ü{^ˆmoªìÇ Ÿ©§„±}øÁsãÜÙÀè*|¼nþ#ý m•Ö6•b»H´<í¿ÿþ­ÖeÖºwŸ[8Ü“OÐ4M£<óÉë[²5îWºþ'hEæ7ëÖnNÿñõMIû^#Ð_üqë5;âÑ_¯JjŸ 0††ü+Æè8®5 À~eõÖÒs é›4Üÿ5­•Ñÿf‹ÏŒµ[_[íB%ÏüñŸ¯|•š¹å__Æï];ÒÁ¦®bÍX³¶¶¤”™ÛYý>ú³9„ÎûÇú¹Õ[WœËUpã–¼¼¡[|ëU³y rãFÄò=Û˜•YC'“@úEF8’õj~ø°`®ÝýK]éÅ3é F¶kô”©É¡m{/´^–{á䵚’‹§\îKv»±Þ +¹x&£ÑÈr 7iT¤‡€´QÕ¤ \nšï\¿¨á1bQDd„O¶u‹º´ßå6˲sê#'úô9¥ós…A£çO‰qoóµ£4•Žœ)TU^Ím ݱgƒØæêìÌ:é7ë¾QÞþ{m“Tfqó`‘DøèÉaªÌߪõ,Ïaã¦tPB8¹ºr ‘-qï0m8~É£ƒ¥çÊsO2&íëHÉKÓ/]ÊW²Üb§Žòëh#£Fkb€Šz,@B‘0«[õ 8C“g/’cëß5­ Bþéþ¥TÉþ-gä 7æé·×Ì êÆÌvMzìÍ7æ{‘Æâ[O߸ӈ*þùÛsr†;ìÙ÷_[Ò6a¶( !)¼óf?qÙš'f´OÝ€tùøÒ‚V5Ú~;!é6gõ¿æ…t¼V aØ‚××Ìr%¨šC{ϵöëøI:M^õæ²vãøþ³þñx— eYY²iLéû÷ûô†¿µÍ€pšûÒê^Ö™#VhmS)‰1W—é§½ýÅ¿Nòä@’$Е¾9ÖÄHf­[¿$¦ce–'®|yi›®?¶ÿ¬Š [õ4!}sJBð=c&ÏNò ­Iö+«—ÉG}q©š&¸á‘·^M’ëE%Ýæ¬ÙðÀd,Iâ﬚àDPÒÃ?wé¨VtkÆšµµ= ¥lÏÜžê÷ÑŸÿ†±^µŒAaxd ¨ª’réyß'ûvïݽï»'ÃXöŽ_JË Ó«ô Ë#iê˜ÐŽy¤À;~Ê”GÂÒ’›Y¡¿‘¸¥ £JϰÜGLŸ8¬Í<’çìé%éìÌöJ“ÒnÁ÷‰õf£onÖö÷¶%Á£§Äºß8ˆÅr ïÃFSßÐéÈ–Õb3&­ÖÌlW¯›y°…îaÞý»âˆYKî_òÀ’ ’ê8†Nš?-Ö‹­*¹rtçÎÝÛw8U ›´èÞQ7¡“ÑȰxœžÉåq£ÑÈ Yž½IŽ­·´>‚ ùgû—ÒU—S*)‚“0w^·ØÐ„ãè3ýYŒ&íÂU}GâÔÔ*Šà$Ì›lãùHH µZ­Ío@‚?|l¢°[v£§w"möµÂþÖà Þˆiã]»|L—àP7h•¼ãnkª"=³‰&8ñ³çtÛœ$Îç:ÀýªîZÛTÊ€D"8±­œÚåi饋%p5m\W‡@V@lœ ÉŠrË)RíÅ¢[O|öÎÎŒ&S/½µ¿v,«—•Œzi= „«¯ÿ£V‹JGMéØõ'·©sÆ F—}½ÀbKW±f¬Y]ÛCÚ”C¢~ýyðoëUÈ$½ý}Ùcª—6·ª—€ˆ` ¯·ø¥0È“µ5JXžaÎÝdáúF†8“`”V×™;Kk•4°<#";ÏxNÎÀl6÷W·lï@¿nã“çââ@c4ÛÅ&îîŽc,O»[¯£0|ùή.‚®ß6’ç(vsâ´Q£53@Ðt—ušb‚${1CÚ~¤)zHóìMrlý»¥õô/…?Ó¿ÔR[YKáÚs•’Ê&*Õ•2BI‹´ª–Â3,TlmÒªZµ3Í€¥ÕH3€õ1ÂÕ§g¸Ž_ ÊÖ:™†>Å!Ýýz˜Ql6`¡¨ûP&•Ñ@x„…ö˜ô±‚üXÐdƒÍ}K­m*e@"ž ñÝö5¨Êòj ˜Ö#kGéµzÕ*uÛg‰¿|ýߊ×ýïê‰÷ž=÷MÔÄù æ/¸gT°èF~ý&°cY=íC•BÃé"qùƒ£ÙZ-*éæãÙ#†ƒ $Âu¬@]WßKG½uW±f¬Y_ÛPÊöÌí©~ýyðoëUÐä8K P´*úsm´)ݪl¥IÄ=náÒÅUL‚’jU¶W<ݪTÓ@8IÄërg(³Áh¢h†ah£•ssRè,bõœü’s£el›ôLœ<ªåÔUiùÅß«®»DFFD…úºpì…giÉ?{$µJËv 3yd˜³®¦(;;¿"ïÂ/UÕcgNŽumëÃ$‹`šî¥Û~$Y¬¡Ì[[A´àÏñ/¥õz#„б·¸¢l Ñku4 @ëtF¡ ï׳±.uÏö}GS2ŠeS—·á€^_Àï9Eä øc4˜˜öb·üsA¿ŸÚ`0ߢP`ÍçÈ ­m*e@"‘m'ºÌ†uZ= ¤cðˆÑÁ½m ø1ndÇLÜŠÏwM:³÷û¿Ï>µµàô÷ŸùŽ]üÌê§ï s ¬H`ϲºc2™.¿³ ¢9óÆòMW;Ý%ÀŽYñÍ›sÝíjBZ+*Áæ°{J.pt “ñfGµ¦«X1Öl¨mÛ•²=s{ªßGüÆzÕ4 .— À˜M¦~ìÃAû—2 @p8½E–$9\Õ¶ëC0‹¥­‘ú™A«kós JkZ4Fй¥·Ë-`±Ù„]Åàz Ÿ½8°² 3·°¼¡"³¹"+ÍÉ/:iìðP Çæ*3Õ]=žZ¥åLœ;m˜ œÂGx…F×\;u"§êÒ‰TÑ¢‰<‚Çç”ÑDõèT´ÉhfÚ|‡(Ol}l}AÐ>„?Ï¿”tpà Õiõ½Ìe,z­€8Úïêáñ8XôzCCþ¶¿¬ú*CÍr‹™úð„P/±ˆÏ&€®8øþ¦ ­šôºÇ÷I¯Ó3$_Àëï•jÍ+·]5ƒ¾—sÿËüÖimS)ƒ馋 ŸG€E4jù/%õïLŠÂ§/{ú“/W¤Ú·sûÁ«—¶oÈÊ®ßòåíQŠúJ`ﲺŒ•¶pá]Tghm“´¶¦“$Ç]=$—ÊY#*­×è{vTFÇms>–Ÿ7 eMeåJ&Þ­×7Órô«m™­à1kÃŽ7gtÚÆ±\Mûd€22ÍÕR=ĉº½êˤ4b_o»\Äòòñ ¡²©²ZÍÄwuƒ£dTßÖjmS)ƒ©Sûù² °¹ @F'Yù“t ·ô¥q‹îßÿÊsžÍÙþãåÿ3YÐ_ÞДÕfù999 VuvÛ#œæmº4ï\OéKT¦¹¦VÏÄu¹Ü ôåÅ5¿¶ŽjuWé¬ °e­TÊö¦´§úƒkvƒ”J©a€trCì_JºˆIhÔÊzð쨖V¶(h–“K»„ÈID‚\«PÀÓ¡÷ õ¥é™õF†NY<¥ó¥{´TšjÇAd‹Ø]’»øÇŽõŠ.¶>‚ €ñi:Pkµÿ—Ëã z«–Å z.o`A;Hß “£¸`Î>r¸ºÛ!ýõçj(B8râHAÇÄä‘^$cÊ8Ü#ñÍCsµF†$ÏœÔÅÇn.)U06cL?›ÚõeʉËštLLŽâØ£!X!ÃÄ$cÊ8qº[øCKùùKµýœ¿°Vk›JœHš8püø`6aÉ;¸+Kgk½ðƒï½/‰G0¹\ÏôŸ`(Ëbyøz’@7×ÊLú¸í]TÆ”q!­kPO¦ùÌ‘CŠ“£Ø6u•þÇÚàjÛþMiOõ?Ö€Ãá½Á<ÐzȤëk¥f†àxøtÈG©ë+¥*3ØÝ¿”p tcÕXRªêvÐÔ,+©PÑÀõ ðátÄgõñq$€ª/-QÝâT*­V¶RlŸ€.«nŒN.7Ø/²¢Mb÷fß»„Gx³,:}[¥²Hh³™î턪F©6Ò&†€OcT(tLãA.×3@Üð–áûùrÀRWR¦îœ–Ñ”—Öšû´7Š<{JŽ­—µ>‚ hÞD©êâåáí[”—Õ¯‰h4è‹ò²<¼}(Aà¢çîõ&M9›ÿõéÉÃ3äy?¿±~Í yð‰i’Ž·'áeIB0fùÏ—i:ÞÇUÕµ ¹rH7OW6ÆŠÒšNó!}Éþ·f™ú¡Ug7½µ¯¨#£)Þ÷Ƨ§ ËÞEöi ÞˆE‹C9 KÛô֙ʷ^ÔŸÿß»ÛË,ý^Àa¥Ö6•2(‘:OrÃïfš+AUí|uÝæéÍO=­®¾zè»ýš¶_õõƒ{O6wv$2Tù=ÝÈa¡ND¿ ìXVoKá!‚1––S`Ï ^¾áÑÅ=ú÷]å½Ï›l•VÞøÆÞ¢Vºc5<çÇ×>¿¤fØ÷-™èh[Wé¬Y_ÛRÊöÌí©þàÇ’@?!ÉXÒ©4 hD h êK‹ª( ýBCxmûŒ¿¯^¼hᢅ˿/£ì¿—È‘á"ÒÒxíô•òV˵¦üóg Õ K“|c§‚ôŒŽ÷急áÚ©Ë%ŠuEUuUz¡€ ”òÖNcÁ,/LÍl°ç˜³El£¬8¿¢¹KìJ‹²¤XF!tóÚŽ‚:;q  e¥¥JªÛå·%Ç÷ìÙµ{÷¯Y ºín£ /.P²Ì‹YlÚPŸ}áj…àù†t”,NŒt&-õWÏ¥Kut» u}Ö™kRÁ ˆìØOŠ<{JŽ­µ>‚ Hïˆ ¿ÎÿëZSYz=õ‚ÉØWÜ.ïáåãzëùï_fìîî·@8N{×Kc9„h‹ï½ÔüÒÇ÷¾´äˆwX¨¯’W—V´¶×´µïü%®S`vÒÿ¡ ¯­Úp ä—W—zßÛÇÏhåõ*KÐò­ãb%@zÞóà”­Y' ¶<ÿDùìÉbB#+H;Ÿ"ó_²høÞýÙ¨#–ç=+¦TýôÁ“Ó·„ˆÙZYIiƒ–&DqËß|&Ánwp¢V¬>ç…©W¾|ê¾=Ááþ. ®«¨l ƒZ>çìwGZúš³Z­µM¥ F¤®`g®{¯Zñò×®|ùâ[žžŽ„QÝ$“ÉõgÌ?,ôèÆÿ¼ý Oìì-q òê¢b©Ê ˜÷ü±ìþر¬ÞLø¸¤aÜ£WjÓ3ëè«Ý)ûéÿŒ¶ôúõ²2³K¬Ÿ÷-î”´ZTN̽÷Rg?~ræÖÀð K][\Ö¨£ Qüò·žîEÖw•~Çšõµ=0¥lÍܾê~¬oÔ¢…aÇ¿/¾üÑËÆ‰LJáœwß[êOÚ šÍcД{=GÇ®ñ A,º¶°°•f}Q^¹ Böô/^Àèécu'.Wçÿ¹T$‹¸ŒA%Wè, é|V‹ÍPòÒ+êRÙ'‰‹HÀ‹¾µ¹¥ÕH³œ#’ãÛ¯êdùFEJʳZjS~ÞSäᣠœðéÓc¦µ¹ÙȘ[š4ˆI #ÆM;W&MýmwŽÄÝMÄgÑ†Öæ¦…ሇMysïŒí=bòˆæc×ê3Û]èäìÈ¥4 •–søø 7#S EžÐCrlý»¨õAºÌƒ•­]öy|~@H„·0ÓgÈv‚ 8—˽e¸0²¥‡aÒÜ\lwˆ|äÃŽìüáà¹ë%…&–£[à˜yæ=ôðœH'²ûôlêúm!S~ÞùóÉ+9µå&Ràâ=aÌüñmÓkÂmÆëßñB¾ÞyürÊÏ_Ø'räâ÷Þ~l2³'ó×ì¸Á â¦<¹fÌ=±Û6ï>u­ [MñÄAIÓg=üô#“ìz?òáϾÝ»mÇÁ‹99RGÏðQ¬ZùÄד•?ômŒÙ µM¥ B¤îÁ*WnÚ1öèÞ‡Î_+¬.-’Gèê;}ôij'ºíC&=¹ªÚùì•ܲ²ìš<Šä;yŽ˜»tÞÃÎŒp" ßv,«%$c''rÓҊΕ-]æKZå¯ÏþOU—™RÉ«/j´gä'+Å&ø £TüÊÚF…¼¡ÕÂlžÐÅ'<.<&.äf:¶GÒÜ™œ+%5ÍŠúŽƒs€ @º…»Wäªá¡^7Â;EL]àT[R]×ÜR«0ÓÀˆ$¢c£º®LqÜGÌžïš›™S*mT¶hHžÈ#((*~xxçëÚ‡$Ï^$ÇÖ¿kZA„ðòò€ò²Rعcûò•Ïb¥ È-l=Å¡W–¼vVþÌ;W†Úã®(º~Ïóó>ÌpðÖ&ñœ9eýœ5´áÏÿ´íé»/ÆÀ]®~'´ßž¿æ7…ïÒow½8œÛOâ”Ë©Ýâ—¦§^ˆK…AAîrÒÓ :> BBàÛùÃnþ¥‚tÏX¶(ˆE•þ²3Ec—ù9ÅVн÷Åóì‘ÃÜÕís—«´ì·§Z‡‘<˜Àí?¹=üKA;:>Mk+Ö‚ô/vÙêy^ÐtìËÝ¥æÁgg)NÏÖr-Ž`cÝ"ƒ´Ž[S¾Ûv]Ïzlõ|kvQíã_Š ‚ ÈÝ¿Aè}ªW ‚‚?ÚU1èívÂK¿^NÛü Þ;… Ò:Ô\ÿ⿇„ßÿ÷²(®U2øø¥‚ ‚À]¿AÞ,ÄQëö\X‡ÜVÝÒq亟/ÙÔ-Ñ¿AA@ÿRAzó/%I’¦(¬A¹K )Šd±ú¼ßýKäÿ#œqoœ¼üªØBÚÕkÝâ—:ÕêVg1V‚ ‚Ü ¨Õ*¡FÝzËýCô/E¹Kèé_êáíÛPWCQèwŠ ‚ w>e©—Özzûõå_ªÑjõz=V‚ ÈþI ÆÝíG‰›‹Ä­$?W¥££)‚ ‚ÜÁÓ•R^Z˜/vus–¸Bþ¥$IV×ÔD„‡‡ rGb6›óòóÝÜÜü|}»ý“o@°ÐQÔ(“ÖVW ‰ˆ ‚ w$$‹å tô éiv·½==‚+«ªªkjC‚‚,”¥íÁ`4ÖÉdáa¡Z­î¶zPµ¶666EGE¶Èå·ÃCccc‹\3¬N&»­ªkjU­­‰ ñ•·ÃCIi©V«™4¼ ¨èöy3*93+Û`4Þ>×ÒÓ-jüØ1W®^½}&OœpîÂE¸MÆsér*›Íœ|û<ðy¼Ä„øÔ´«·ÏCl̰kéB¡C\LŒ³³³¯O¯ßŒ¶]Düv"‚ ÈÝ áåååe¥Pž4f"V ‚ ‚ ‚ ÈÝ@zê…èø$ ƒnçAAAÀûAAA´AAA´AAA¤[üRAR”-ÍõRVCÓ4Ö‚ ‚üñ$é tôðöí5b9Ú‡‚ È„´ºBÞÜèíN²XX!‚ òÇCS”ZÝ*­ªÐjÔ¾Áh"‚ Jy³¼©1<:–ÅÆO‚ ‚üi,–³‹ØÑQTR+táùCAäO Q&õö@ãAAnXl¶·_@£LŠö!‚ ò' ÓjDNÎX‚ r› rrÖé´h"‚ 4M“$ž9DA¸}MiŠBûAAAÁûAAA´AAA´AAA´oOÌ)ëgŒMûø×etÿ‰My_¯˜=~ÁºRÚ®B0Š__LNüÂoJfèTµ©”?F$An¿‘Hלýñ»Í߸®ø³OInÙîT°õAnØ}Çš«(-l¨«5 }$ãòø^>þAa‘$ÙÍÚ4_7cí)SûÿÉâ88¹zFœ4û“ÂDhZ÷µRä§(4–´´RËB_.VÈ;%W_ûhå?~’E<ÿí—+ÃûhhYÈÞ9[Sßybõ>Uâê-—…p°BngLòŠÜüÒʺ&¥Öh!8"‰w@X\l¸ÇÿµwßaQ\kÀÏ™ÙʲÀÒ{¯‚ ¨Ø{E%‰-ÑÄMÏýÓL7‰i77½˜cl±kŠ»¢ˆ té½wX¶ïÎÌùþ”¦°°Xâû{xž›»ž9óž9³óΜ9#Æ›UW›œ’QTY§Ôq”Pjëì;`P˜—ÿ¶,@ëî½ü°07K­T 1N(Ý¢˜N«Íº–T˜›åíÔÕ¿c¥ƒƒ”‡â¼¾*7±"'ñì¾ÝãÖ|·îa¯{ Ûáj<;ÿ{ëuQŸN¸3µ¥ì§<ó\¡K]Уþ‹OÀ•±?}º³ù?ùúc~=iè{¾g{èЄ-†¿¸:2úÕÃ?®Û1â—ÇýàtïvT™‡÷Ɖ'>:Ùƒîþ8R}èlN#‹ùk;g[£®¯­ÌI®ÈË-7kb Å‹GD]|þÈéŒFÑ" KŸQ5Vä]©,. :{˜“°—  õ÷f~XY^2dÄØ['‡!¡Hv56ú&ù!íóÈ7;VxµBEÁå?¿ûbÙ²óÿýhÏK½îö[¤ñò…d=šx«€eC—¾6öÖ5CÖŽ¯ÿ.#¶³žÄ¿g'û÷zÏ÷Ö¡ [Ž~ò‰ðSŸ]Ýöí‘ÈïæÚÃþuÛhËŠ+äÕ“¢ú⸘ÜFNä2lêÔP{n¾¥S“ræDli᥸)>â–¢šüØ ™œÐqдIƒ]Ì(„8uEòÉ“‰å)çcçwôã2´>Ý›ÏêuZ¡HÜ“¥Eâ[Am“J½F?öÙÚ‡Ýh¢Ë8yº˜»Û#ÄT>&ERQ IDAT™¨í¯¥c N²Bˆ(Îm?c |ç-#ŽºÔs¯õ,pWšºü¹p~`ÉDk¬ˆùc_†àvᔕLËÖWVj –úE l9•Ga¡ÝÀ!þ–ÒWWÖq× ç¦iÏqØøp³æß!ÊÌiÐÄ¡Î|¢ÌIÉU~\&€Ö {ôþaÿj¶«XUYZÉ"Ï6’¾òÒþ­I-¨Qrb QÓ=¹hŒ›¨ýÌ.‘¯rXµ{ë~ôŽ_vJÈ)­Ñ ìieyN^ÜþïâOE?ýÃWìîHÊ–eÚþÚîŸ.ËÍì=Ü<|-ëŠ s.þ™{áÚºß×Ít¸qª¦/üûÿ{¦’A™»oŒR–]Þñî¥Kóg;0ÒuWKÕ…¯Ÿy+ª‘ð,\ü â)‹Ó®%Þ˜x!yõÖïxÒ½Y‹±U"õ5Ù{¾ø¿¯/5 žX"æ±R™5Õã&Ðçìxá¹ïãåHdëêI©jËËJ“Ïç§HFÍäЃÈtëê¼qòØóW5„;Î…2yÏêV+Ì•çœØ¼zφ+ O/?›¦²‚¼¸?¿¿ræÂªo¿zb96v‡!ò«?¼¼fSZ‡(‘•½“%×TSt­¢\<æiܫ±eÔÂM¾ù·Ø«»[‚)MÆõDAè„‘Ö{ÿª>ñÚ°0Blö¹#é j®ñðñä×§L›üÇBWüTB•Ž`ž™…•­€h›J²êJòrüÆLŸèkAu¸$u*±ZGæ‰$æB¢SË«JžÛ|cÞåC§ó´„ZXÛ;‰°¾©¦¦";±²¨J3Æ«nú¥È>~ µB/´´¶²¶—hëëK²êKKj'Íè×öˆÝãj³õiGŽÄ•iÏÌÊÖÁ ëÕ ESUQCu#ßÍÇžÏ g7Cqaµ[¸ø:7ïf”Ì’F!®®(§Fc šœ¼ªÑ^Þ<„(kg'ñµ,yAfEð—ë×- •Ùùõ6ss·kÍ“êk8DÙØÛv¼\ °uQÕuUu\°„Fý³ÌÎ5‡Ö¿ZùáMòÄØd-Á¢À×H㙯Þݘ¢´»úë÷¶ B\CÒ¯k^û9aÛ»?„ïk„¤ÝÛgÙè2ãííï>à#Áqò„õ/?·åZööÕÏ ³°'øô‰¡v|„¾üä§O½s´$zëþìé/6Vk}ööÆ…Èÿ¡µ¿8ÍSŒBL]ÂÎßø1æè'o»ym|.H€í3ûå÷gÿþä¹´ÁÀ¯¯í0 „‘uî‚áÚ‘Ãn3ßýãíYÞŒ"ªÜ¿?xå‹ã‰Þú9tÏ+á·>Ù"ª³ë²ýüÏ<2È–‡BÚ’cýç£Ã¥gÖïJŸö!-Áeó¶­ýòL%+ YúÅŸeÇCuáÑ/׬Ý£#¨Ûg$#\¹ÐÇiÎÜ ~V<„âã¿ê¥YW·îH˜ûÖ0Ñk1¾J\}Ü7ï,µš¾æÓgç vaŽã¨7æÂ¶ß¯Èyþ~»áÅð–“¢­J¿œ¨ (èIdºuuµ$¤j å>Ø2uÏê^O+LÔçÝè<åµßßy0ÈŠB±õIÛÞ|ã—Ø¤o¯ÝûÚP3£v®öÈ'ïlJUð=#_{ïŹm!FQ|-GçåHõµ‹™°Aûgóo±W÷` &;4݇„ˆþ>[œTÂ…yQˆr ð7§*"¿ý0'Qç^8“P¥ãÙM˜8̧ùÞ §©H‹>y¥$çÂi «†Ù^¿Þ Î¹p&±ZG[ùŽ`/¦BœN^ÓÀZÝHß®ƒƒeRÿOkÕ¼[”ÇŠJ«­HI­ ë|ËóW®:=Mâ9|΄`»æ±v¬²0úè™Lya|ZµÏðÖkrFTÛPœ’T®¥lN ©uü£ª)«`líi û ï+O:XT­¡ŒšÐ~†lac#ÀJÏÚ®5µá»îUv.?íäa]øðˆ s¶>7áâÅôFÚ6db„kké”*=AX"ítK¤ !ƒ¢IC9îŸevQshýû¦õÞØyÐEIì–5¬"ÂÀGž˜jÝr¬à ÿú5ª†XO_óþ‚àÖ‹k”lÐÊ×—øó¸Ê¨gå:Q63^~gŽOË¡ˆ² _ñÄKŠ0ºâƒ•ÍÉ!BHà<é©%¡<Ä–¥¦·¼ºˆÍ9°ñL=¯Z÷ÊtÏÖé™y6áK?ü`Ž#¥ËÞñûéž¼åÈø:wÛÈÕoÏön= b‰ïÜw_™nƒÙ’Ã{Ï5uÿu‹ñ/~¸¬%9D‰Ü¦¿üX¸sÉÉ­OèìÉÐ!AȪµÏ7Ÿÿ!„°™çÌWWÏuìÙ ´ì•ǧ´œª"„(«¡-ÂÇ\CfV5güZzQ%b(ÎÓLZ÷Ó{‹ÃD!DQT›€kª®ÖpXì78èÆÉ9ŸnOõ¤2ݺºØ“*³søxóLݳzðÅžW˜²|eíÃ׋ÑÖƒÿøÅ1˜-;²¯ÝîÚƒ†ÍÞ÷Û¹z"ðôçï,hNB<©{X¸Ÿîk3aƒöÏæßb¯6j }<4õ¢'JüÜiÄåäëBˆrxà«ý»÷îÞ¿i¹¯Éo põ™ EBÛ‡Oás}`%v 0Áß3uiIšë…ë2‹4„¶2yì€æô!D -­Ûæ9†ónIBXäâD#¢©­UuwÌÅb¯áBì®?ˆE›{uæ!¢¬¬jóÈV«Mô*•`žãe"Ä“Øyø:u?Kü§/xhÁà æ†Y_ßsŸqs&…8òä9—íܹ{û®¿Ne(eÆÍŸqc 4Ñët!ZÈïÜh”@ÈÇét:ÒoËìªæÐú÷Kë ?D±{×,~déÂG–>¼è¡)“¦>ðâOÑõ²!öݪ`Ñõ'ý.^ÈayĤQíÇtÑî!­(¢ÍJËgÛEƒG…›·ýDèæíL!Ä ;Ú‰jwRçénN!NÞØ|Ç]Š)d1?læì³Ecóás§ºÑD¯éþÔÅè:wq€ 9¨ý ,>y´ET)W2»{( ‡LmÓnåØÊËÇ#N^ßúVk¶ !©†ÃüБnN‰MeÓË=KÝÜ­)Ä©TÍ¿©F­¥WUÂüE+'¶ûÇ7eäHsM'¾ûxgb¾‹~Ð]®«‹.RYVÉ!lãâ,2uÏêÉ1 ÇÆ’ˆñCÍÛd;1r¤uÊÕ Æ˜†+Š-b1?lö/žé»˜ ´_6ÿ{µ‘KèÓ¦õ¦'RNn.Ý÷ãK‰¶¶0«¶mNúÜÆoW´§‚-Ì/fi:úÚð£]ž)äŠöGlãâÔá@Íçó1”½£]‡£2Í£"Ë„bJ KY„í}|:_·¤½ü}x¸PW\XÁ!Ÿ[ÿÌ_ç.ÊØ8wž®„ïêéL¡Æ¦ò %A²[]D¤ì<\Í:¥Q<FˆaÙÖü°¢¬‚CØÞ×§ÓéÏÝÓ•F5F\Î׫äM*­#ˆiÒa„éÍZzU%ìÚáŽFÏ›€ºâýç³×üâ³§Ïý8vÎÜ9s§ExÝx|·L¸®Î»’¼AIeemE™ºgõD+LÙ:;tšÃAìíïJGe(Ê+»Ø]o¾Ã0eE¥,¾>7ßÅûÒÅLØ ý±ù·Ø«\BŸâÖ«žÈ·´6Ǩ¡©¡©¿opMMÂRkY§·p#ÊÊFF¡F¶©±%ð\S£‚CØÂZÖÃg kÐêô,Gát=<7§$–RºóÉ/…"×[ƨjSƒÆGÔŠ/Ë¿p¨èª­{@€ ‹• ×£ð˜ºô³Gc‹T<¿ã‡úZªK²RRÒ ®EÿYT¶rŽ ,1ïê4š'–RjTj®»›«Æ×¹«2bQç2"±#DtZ=i™<ì¦_7wûCÂiµ†›l/¾Y;ЕÇîÙ¾ÿXLbv…RßîèO÷j-½ªÕü C/›K>ùý®qgönÙùçñ”S¿gœÞòËÈŸZ½jš¯îAS®«#½^OÂQÛìCyæƒ?Ä·y‹/øÉ_?œÙæâGOzêÙÍàžUóø]t.±¹Fˆèu7vמì0jµŽ lv«=°O]Ì„ Ú›‹½ÚÈ%ô)n½ê‰X  D z}燄aX„0ŸßÕÌ’_@#Ä6ßõÁ†aš©›3hEizjFnIURÇcGÓtûûblµØžñ GaFRZf~UARmArœ…kPøÈÁ>Ö|£C¦/?[¤¹9i€²ðâèTråÔ‰Ô¢‹'b¥óÇzÂB‘#Äêôl§ŠÓë ¡æ1ý´Lh}h}ÌOs}m>¾ôð¡gwäíújëô OùñoŒ’ 1b¤+þûjxÏêÔëã ef&ÄH¥Viº8»a4*B”ØLLu?²Ãè:wqH£íœˆjÔ‚% ± ‚@ …|Œ­¦‹¡ÿŒ¡û÷*iÓ7?óâ/‰ Ú6xââya>Ž2©ˆ‡WðÏç?D7õj-}­R/›€’úM^±nòò× bïß¹ýŸø‹Û×&§Tn\ÿx Û¦^W»~ÑjžB_ßuM8ƒ¾ù<¼¥˜¦)„†¹Õ„©I>tìj¥›Ù{…:ÈÌEB…iÌŠ‰+Ö݉j·<)`í5h’WØèÆÒœŒk)Ye%)窪”sf†ÙwÇEW”ž#çhç°‘AVtÛ=·a#jö_¨ÈO+âh†@*a¤Q)Uµ¿]ET ‡O*m¾jÐ˄ևÖ ˜ŸæqØòÕ‘ö”.cóû o êà¹yºÐˆ«ÍȨè÷êz`ÂȰ @///w{sêU»ýåVn!#g,œ7ÚSŒôU©)¥Œ‘?(…’EX(“u:Çf¶¶bŒ8•JÃ5OðfoC#®±¦¶c¸ µÕ ¢,mš‡»÷Ç2¡õ¡õ÷n~(ŠtZMO–¢Ójž jÃcž}fœV%oüâàõ³Êcôh/f®ý³+YÝß›ì2f| RŽ)îpþ£¹zäT ‹%CÇ·¬1­¡ÃrLPg¢K8Ûþü˜4Æœ¸¤ä(óAÃù¦Ø^Ú{p˜Œ"úħ;L|È䟿XÚM*ÁV”ê›:®Ýc\mNnÛŠµ–¾UÉDM òšõ@¸m}½†t_ ?×EÛ»8Pˆ«-­Ð÷¾»îY½Ôu…‰>1:®ý¤ž¤öÌÑ5¡¤ƒ†òŒÚa¼† u¤ˆ>ñH§nhÒ.fÂ5åæ÷½Ç™äÐÔ›žÈU––æÛ;·ÖUT–É ¦?Vc w[±Õ9¹ò{´¡"§@Î!³»3¿u~VggsŒØÊÜùMvNÑØÄ"Äsövowí¨ëëµäÎT»«üÞÊÏ߉FˆQkšƒJSBˆ3¸®žPU6*t\kŠ!aDt jÒ)y¨¯×„¯¹xºðSž“×îÚQæç–%ssožÜ¨?–Ù¹æÐú÷YëîáüÐÞÉ%ëZr·)¢N«Éº–lïäÒÓUÚMyE˜QĬÿ.ªu<Úï¡§&Ù`¶hç[k~Ž)»q´æÅñ‡7HTšîøMyÌv–¥Oýùí¯O–h¯?U~mßï(çÞ Ÿtã픵‡«„"L‘£…íÏÞMQgN~ö‡ögµN„A”Ùû?øút¡Ýf?bª®œº”Óp=VœN^^T­!!l&S±õMmú‚¡>36©Š½CÕÖUd§Ô¶›»’iÌÉ®`–ØÈ„Í‚ZZ0â*rsÙ¯ÀÍ9¾gϮݻÿNnàšßpäé(@lEÒ…äê69§­L‰Ž/g°ÐÅϽuÍb¯A–S.¡L͵ ¡®L>s¥L…î!­³-õÇ2;×Zÿ>j}º§Ÿ?tóð))̽­×iÑ-o3Ú;:»yøôü¬Þã¡—–ZõköÙo~¼8ò½±V!l3uÍgÅ ¯ÿtåòú—þ]æâá`ŽuŠšŠŠz ËñæÜùƒÍMvü–Žyé³Wk_ýòÂÞWuòõq‘°õŹuZÂsœôÚÇÏ l;U»0bþ<ßã[²/ýoñƒÿ„xJõ’ÈO?[âFõ½Î´Ã´''ýñßå“7ºû¹ËxªŠœÜ*‡¥W|øT˜ÈTÛË|òýRÿïÛØËëŸx`—Ÿ›R”Vq^‹VDžÝt´îVg«ÓNø=ùDÆÆÏŸ1Þ_†•qçc*Ü̼÷@J/×Ò—*µŸ¶GM@´¹Ç¾ýdÝWB™›Ÿ—“µ¥­/ÎÊ.“3|÷Ù/<Âë¾€ ×ÕU ?0|€àØåÒ„¤r.Ø­÷cpºèYD•{õj^žÁ*Äõ&£S{^a~ð¬YìÙ/—OýÝÃÏÝšV”fçU«9, ]ñѪÖ>Óó†r[´öݬ×þ•óç[Kîäl+"ªúÊj9ã¹â÷Q!ÖFļweìÂM»ù}ïq&94ÝõiWSÕ„² ó¤Bˆ+ÍÌlâÑd]Ë×#±‰¡„îÃ'TŸ¸Tœ~|_®T&“ ˆV^ß feî5rÒP{ºí›àñãjžË¬Ï<µ?ç¢TjÆ#J©ådƒç¸Ù‹16÷ öLªÊ«I<úW£‡µéµåÅ% ‹ŽéÕw Ú„­Ï½]Ë[X[IÅ|Ähšjëštmé?,´åU´K`€u~r]i̾=YöVBVË÷›<9Ä“¦ÚZAÈPWÓÀ!…°¹ÿ¨1QçòÊbîNµ¶³•ŠhNÛT[S§f_6`쨀÷ÎxNCÆ©ºR™tpw¦…¥¹€U6ȵ,¢-ýF¹13U,uª9´þ}Ôú€{;?ŠDîÞþNn^ä–SªcŒù|¾@ 0bµ‚Àå/Í9úâþң߬Ÿ¾f˜#„¥Wþ°cä±½;Ÿ¿’Yœ›U†øçÉÃÇN™1ÖÊ´‡³€G¾ØvtçÖÎ]ÍÉLÔÓæ¶#f™½hqd€Õñäý©¾4ûnã¡‹YùIÉb÷‰Ö¢s$ö¥Îâ–¿2bZÈæŸwŸº’‘¢`…2ÏðÉÓ¯zdœ»È”›+ XüÝŸ½›wüs!µ #µÌÜÁ/â‘W>is²pë­“1l;åÝMBï ;_ŠÙ÷Ë)$–9 }ð³uKÇ“=I§¨{»–>T©ã4•Ý7e5nù‹Å–g/§å奔\c)‘…½Ç™Kf/~tª¿…ê¶€ ×ÕÅFX?H—uîlÅ’e.}xH£SÏb ²ó „’™.¾Ùó2=®0øØ·Oßùëž“—3Sõ|™gø”éKV=2¶ÍîjÄC9L|³÷„};÷¼œZPš¯§ÄVöAcFÌióÓ^v1Êt Úo›ß÷g’C“q=QŸv&¦–£dcÆ l>âÓgŸÚYl3sÆ aüFñmN™ç—–’UTQ_WÉb™¥«¿»p°¯MǼ°ÄsÂ\™gFZz~YucS‹y"‰»k€[Ëff^cçNµºš–_Z’q¥ñERçÀ)C=ȵʬjæöW‹<Â"ä¢ÂÒê†úª&†`žPbåì7Ð/x ÷r<ûð™Sù—sJj*«øf–žb^ó#_ž~vir±Ÿcëá-ü'εõÌHË).¯­+m0pˆ'–Z{ ð ò°hÿ‹Ï·2cŽMZRjnYuc’Jí==Cûµ}]{¿,³‹šCëß7­¸ûaGGG„P~^.B(#%!|ÄX ·i8üÆ‚wÎjüžÚºs¥éÞÅUîyaö‰v üëµðÞŸ¾bÞ|å/•ß l^å}ÿÍ1pŸo~ª ëæ¼r°ÁeÉo»^,0úë ±ÑÃ# »wÔ„8„PPh8BÈÛÇÝþùK]À²)Ëæ{ÒlîŸ;c”&\®.=5›¡=g=j’{;„Ü×­tŸo>â*î8UĞ>²0L@ð~ @†,[=ÛÕD­ßk²© ™ì„•`ÐüýyaÐÇì¸)fÓæ«AàÒÕsœá—€üП°Å˜ßZè‰2¶ýoW‰ž…á…½ú÷¥¸ŸÂé<èkv¨¼úÓ7Gª$ƒ_xoY Ü<Ð}9? àöfˆköD¯@€»pç4ºfßEØ9÷üÞPDzà.Á±,EÓ0)€; ûZ²µƒ¥• BÜ äõõ5ÕJEÌ_ àv³wr©*/aYBÜq,ËT–•:8¹"_ àö³²¶µ²¶ÍIO“7ÔÃ@SàÎe†¬¼±>73]fckimƒ`~w„‹»—Ä\Z]QVZ\)"pGP4m&1ñ›‚Qjȳ@¨!?@ΡFðü! }Ú­ÌåOæM=íÙÍlŸ—v߄ڔA3A¨áþ!wž¡.ãÌÑgâS³Šªê•$[Ú:{ù 2bÜ´qÁB|/lEa„EÝ{7¡¸üm/<±9—x-ÛôË2_úþ 䇠;9ê‘(Óÿúö£ßÎkBÓs J¯l(Ë®-;¬õøq•ï^Šé‡ñ ý:ÀÔqäx>C*Wá·ÈŸwϽþÞJ5‰ÇOV ;o/}aÑ©¨Ä•!âûõKȸc§ôª¤MëþÈT"é ŸýÄ1c`õJ!„ÔuØôe#(ΠgÈ=ùXæ=’=‘¦‹Ç.Ô!ËYË—1_®;}ü⪡S,ð¿"hpϤQG¶+c±ÅÈçÖ-óètL»åXF϶ý„iÌŽ9u>>13¿´NeÀ"™“Ïà±³—-ë)nÍg˜¸O¼e¿tÓO %É·í?s5§¬ª‰[»›¼øÑ¹Ãì;¥LmÒÑ?œŠKɯlÔó,lì]}‡ÎzôÉq.7Ä3TÇÿ³{ÏÉøô¢:Y»úGLž·tþpWá=ß\í…#qJd>yÌÐ!$Bu2îÈùºI³mÛ=ÈÄ}ºàýc6K~ûe±YüM{OÅeW(X¡ÌÙ?bêüÇæE8 {[¸ýþ°ç¥§¾¿Æ­üåçÅ®H4¤mXúòþraÄš­βÆ0)ÿªéK¹²‹§®ée?cÉDÃ’îÊ«.ýòòGvŸM­¤œ :ÄÏRSœµíÓçÞ;XÌ\/FS±ç÷¬]õƆCi;?w+®.ÿò¡__}ñóÕ¤í2‰ lp#ªH:üëÚ•/oJhj·4“M5zû¦/åJOOÔbÙ˜ÉC…∩£eX—u¦´ãd¢4…WUpvÇ{«ÞÝ|º€³õôó¶£ mxÕ¤*Io ·½?ê<}ÎP3Äd>›Ït¨€áÚ¹‹•61c‚ ÷Ûô¥pÿ€;D•‘Ë"Ê2|¤?&=(o>bþŠþγæŒó•RA5%þôÜêÝYI{ö¥D®|cV¢Šþm“ͨg\»8TF„°®ìÄ'«?>RzaÓŸ™Ÿ jIH݉o>Ýž®ä{Låçç„Xó B¬²$=WãbO5gD½þ³-×Tvc^úòÝùDFM©¿½µfCâÞO~ ÛòÒɽÛLnÔñl¶›4-LH 2ÉîØÞ¬“Q¹óWùwÌ•ˆ:fËv§É¯l|{^€„¹Æ”o¿ùëå´?>ú=xË ƒÄ½-|ýK–£"ÇZÆ+<{"{±oP› 课XÍR–c§ 3Gý8î€z{ûôá­­ªa¢œ]¨}…ã.zaáhWZ¯Viµj­F-°ha8s9yÕlk±æó|‹±Ï¿·ÀO¬Sj4*FÉÙŽ}þÑÁÌU^K¯ -%™ÜƒÛ/6Á€UŸ¼ö€¯Ð RªÕJµÛù¸‹¹æ2lñÑ­§k‘õÔ×ßšíE«5µV£Ò ü–­^èÏãªN¾ØÄ‘v«F¨Oai»S…ú¦ÚÔQÅ,í:yÆŠ BxAÓ&9ÓlqÔñ4mU¢lg¼ôÖlw¾F©Ñ¨4j(`áÚFY`¶âäÁ ®…[ƒ&Ÿ5Á–fËNJÓµ­gÊùè޲9XÀ™4pWd—z½Ž „E¢¿Ý5èô,GÚ<¢(pr•QˆSk´íÎô±pð„!†½ñ!ǘ¹yÙbÄ5É•\ËG¥WŠYÌ1ÑiS–pìõ•ŠøËy 2:n°Àpc̈́傭(¢ÍÍ,bïÙ&P]Ž:_ÍÑÞS'ùµ$F8`Êd/š«>w"^Ý©8– "0´‰kŽ˜:B‚‰:=9‡í}á-Ê ‹œêFsÕÑg®j¯ªM8w©Ž£œ&N嘟€ßô¥X(b„ˆV£áŒ»qÃÔM µÎÀÄÈuTó½§–Ê´Þ»rwàw|+EÑ!–cZVÇV”–³;x»›s7ÍHKŠKYDš¢ÞžÕåF(*ÒnÕ÷Îô¥¤>æÈ%9ሜäz}€/vŸ8ÝÿŸ2/¹Ø8zŠn»vÊÆÑwˆ*á»ù¸Ð(SQU­"Ä÷®ð ì3u¦ßîõÙ1'âWŽcŽBê¤3±í6uŠ?E`þRþ… "¶±·¥q–¡¢´‚!n‚î¿ «¼ú÷¾C'ãÒr«Tmîå!„莕Á"‘ðYZóç¬F£#‹Í7/ÉhTZQæžá^渫$7ȦCÈ=’ ’ŠsÇãÕ„kß=:ã»N‰q\Ô¹ªÉsÛn3æñ©Î›&03Ã!½AOÁ½+Ü6hÄqÚÌÐß²/Œ“žh…‘*ñ|ŒœãùN™æÝ|%òCþuo?ûxÒ³ä)Wr˜aÁÝœ™k³v½úæ¶%m;`ü¢y¡¾Ž2s#®ààÿ~ºÐÔù¦îôléøß´PÈLjѨµ7¿I‹DŒó¡ËÖý_¯ë1¯ÛÿÉœÉ+:~<Àx™LÒqÃôMuMº´“QE³ólN£Ôp¤C¨ˆF¥"a¡HÔ®žFn·ÄzläÈ ‰ç®žŽ®Ÿ0ÛF.^AøÁSÇ»’~C"ä‡ÜØuøX÷-YùQÇ,0ÎêO!’†S[w§*ýÔ÷¶¼7VƱל²ÂËü^¯ßÉÅ‘Bù5EM$ð&oÔ£\<\h”U—y­Hãï‚ÿ=Á7dœˆÊg°Õôw¿3Þ¼CêX³õ£ŸÅå?™½de`›iaëJ˵$°ý}TmaN‹(;Gq»Ï*Ütø¬±V神¾T7sRvt‚ŠEŽ·GýžÂü4 ;óþC„<X!¥¸ús¿|~¸D‹’Lui¹ž`ñICÍ5½NÏ ŒaôU¹y äfã:»XcÛÏi·ðpGŠRNž(eo²jÊ5b¤'3ÇþLÕô`‹L™þ~ÿ¡æjÔ¹rŽrœ9+ÕÊöj³ ³GZPl驉š6U"ú”Ø$×v9¤îÂé85¡¤¡C|èvõ7ªp‡mäÃfLrÀúÔ‹ñ¥‰—âDþë›Ç7Ò"©L*ÄŒºI®Öq„?ø…ð‘ÞfØvÒCã·§œÊÚööóFùXQªªìÄØ¸*·ç:ðWjoWo?ïí7sV¯û;ïÈGOŸüÆÞÁVDÔÕÕM¬Ç£ßDZ!„1·ú£gÞþùjÂïï¬Üiåäjk†õʺªê-ËúÒÌ™!’{-ê5Ñ'b•HéÑõ#}„7àéîm-ºS7fšmó§üà™‘ÌÙõ/=´ÓÕÛÕŠVVäÖj8,øøÚÇ|iÒ~X£ w†=¦Gl[ôqùÊ¡ÍÑÈÌÊÙoÈüO>\4‚9r0U}“±Š·œŸ!Ä1Òák6n÷çž§/§TÖ`‘¥CÐèˆÙ£pë|š Ï{éW[†Ÿ<°çhôÕ¬’‚<âKlœ‚'EŒ™4e”îbEwõü4\鉨Tž5Þþf3¾ä=-rÀ®ŸÓOžª˜ºÐ¾%ió]òõòá{Ûs*.;£ÑÀ—y žŸÇ£1ÆcD!Ç2¬A¯gZî5Q<¡@À§i c„8Že žA3s!Ò©ÔºæYDy"©„‡Y½R©ç:ÎEj&RœN£Ô¶›pS<¾ÏçQÆ!B8Ö`Ðé í’Ló|~óÚ›«Ç² ÃôÌb7_µ‘ò³Ó}ChšF±,kÚP#D $æ±…Æp󬋚IDbô*•^Ÿð¿GÞ;¨ò}zý×K}DŸ¦(ŒáXÖ Óë™voaŒ)|‹ Ò¾]±æ@­ã’o~}& ¿¦j5Çóõó‡û‡Ü·µ«×³zý-ËpŒVËh;}¬U7µýРU4vý}V£nÒt¹nF¯fôÝUРe Ú[–¹ùªï®;ˆ¬^%×w[ŠÓªÚök'qœA«í&F¾iÐÔWOœ­åh·‰SýÑí\ óÓÀ]x塿ô¡˜"ž=Í÷6¾Vîp×¼´Ü­¡&ÆÔ„ô±ÚD“û÷¿]UQö³–O·ãnãÖC~@ïF„Ü¡&mþ«ÛšU¸Ýç~Zw „6Ôf—7±|÷_}r˜c Ü?€û Fšª¬Ôz=OêùðSÏ,ðçé™ÛšC~·N›"Þ9zþÄêT =kÒÂíÒCéäwÿœý!F¨y YÍmN!?Áó‡êî4Mš~)Ün+ ¹As'·òCzƒ¢(Že) Þ`bÇuˆ*„úö…‚€±0Æ"±™V­‚P˜œV­‰Í0ÆêÛjÈ0:3lþ_K™MC]-ÇqdÒ;Z uµ–2„p3õm5ä‡ô>E¤(,–˜›™KsÒSäõ,ËBXúˆeYyc}NzŠ™¹T,1§¨–üB}{BàùCz"Ò4mcïÈjª*J ó oé#š¦ÍÌ-\<¼-¬¬išn;¾B}{B ù!½bÚ<±‡…•µÔRÆr‡_àþ¯kó-Cš¦©Ö»‡¨u~õí 5ä‡ô>EÄs¡!´˜ ¤øú°Ò¶÷!Ô·'Ô!ìèèóÓ@¡ÿªÿq›Ê¦IEND®B`‚danfruehauf-NetworkManager-ssh-f65d65d/images/ConnectionType.png000066400000000000000000000440611507335542500250760ustar00rootroot00000000000000‰PNG  IHDR„>²] pHYsÄÄ•+tIMEÝ - ÒD:ÜiTXtCommentCreated with GIMPd.e IDATxÚíÝu\éðg6HAšLÄÄBãÎ@½³ÎFóôÂn½òÎ>õg‹‰Ý…g·ž]("’"HÇÆÌüþ\÷¶˜¥Tü¼Ï×½–Ù™gžçûÌìwŸÙÙ}(‰DBàãB† †@”½7nDDDˆ!,ˆ……!"eŒeÙ‚‘1MÓ Ãh])Û²a®i ³¼¨ ™Á@Y'ã,+Ïþ}¾Ú¥þæÁ‡‹-Òï!j%ˆË¿:“q¶µ×€~=~SïÞ‹”áÝÉhúÄI¶BÚ] äGÆ Ãp(åØ4èÛs`G÷k!o2óä—Ÿ$Žìé¡P0§Ïóww;€NÆj#ã\Ûþ>=tt¿òìMžŒ ¨Œ\ÙÙ‡ñcú4UÐ̹s¬Yêm„ ´’qž]K_Ÿƒ¾­wöa|ŽŒÔ¶:!$<.ã곤£·bÆõm¦`˜‹çYÓ”[ˆ |9ÜÝÝÕ–„„„èßdãÆ„Ÿ~úIí±*-ŸKm›úôê>ä[÷÷^çHb‘`ÛÅ('k“NM\.<ŽOÊ•í½9ÁÇ“eØ‹góMÞ=@ßÀKב´¦d]›|gggçççB䵿ïÖàìÃø¤´\#±¦EujâòϽØ|#UÄ$gÉ/½çãyæß’p=_Ž{÷>|«ÈÓÓ“Kz 8p÷îݪj®#“É ’qXXXzz:!ÄÜôö²}nû{íº••' E|š‘+{—%ÍÌ‘ºØš ð®¹|ßì×wrããÑ1ð…ðôôŒWI|jò¡u}.£‹TåDž?rÄœ%ìÄþÍ7}‘–-ÍÉ—¯ø¹Å%W†u±5ûÍ·ñòýwŽ;’yŸ©+W®¨-i×®]iïåÊ•+ºö"Rû;+äèQBK&öo¾øPpjfþ Å—Y†­dgÎeâãGd??ŽŽ€/M¯^½Š°—€5Ó¿*J"‘899q—©•,êõìѫפþÍxü:9«²½ùï¾Ë÷ß9qôhV(21@ÉÈÏÏgYVX¡B µO¡eoÃ_¥4ºÂTߦ©ùc{Ô_¶ÿöɣljJB¡ š—©•²B',Ë’‰¾Í—ï»}üرdb€R Òó\Vèñ£ò¼³·"òâïãŽ-€R¢ý3c(ÜgÆ"Bˆ@  ( (ë11E$còþKÇðR²D"A>"Bðq\¦.t((qÜÌŒ|dHÆHÆHÆ€d €d HÆHÆ€d €d HÆHÆ€d ðå•Ùžr¥Š ãýKéÙªrÇ&.fÆ"t@¥Ã”ŒüIëo÷ïPoÛ !Gn¼±âÆò‘-ì*š”M²³sŽ<ùïíÛ¯cc¥ùR›jÕªz·iÓ雎„ïN]!—Ïž.÷ý­?Ÿ¯RíA®p]¾„ÃÊC2æ2ñ$?¯Ž•¸%ßwªSɾ¤õ·Ë&GDFNŸ9ûmJŠrÉ›ää7ÉÉwîÞûܓЇ/ç —t&öõêèQIÁ°·ÂS)¶¬m×±I%BHäãôŒŒ_ÿœ‘––æÑ¸ÑÐkת) “ß¾}ü$øô¹ó_NO—ï8”jnV-oàóKƪcbÃÞ KINÏg ¹šòuÝ2ÊÇA‡§¥¥5õðX¼àoŠ¢¸….ÎÎ.ÎÎݺtV]óνûGŽ&•J$ŽÝ»víÓ«§r“äää­;wÝ{ð0##£¢¥e³¦M† ìèà Ü\ÿ YÙÙÛwí¾sï^rò[–a%ŽM=<:Ó±NíÚÜ ïÒÒvìÚ}ûî½ÔwïÌÍÍ7l8lȪU*ëiÚ¥+Wç.XH‹ÅÎNN¾éèëÓW 'ú[Á¥¢…óæê T¡+ði©T*=xøÈÕ7ãâã EíZ5ýûõkÕ²Q¹b¬|ÀåEµYÌVð7jüİðði“&víÜI­_jÕ¬¸:€Û׬?§keeµ~ÕJî%¾Ð¦ý1ýþƒ‡ºF]©©©#ÇOHIIU}ÊÔÔtõò¥®Õ«ëªöè CÃÂU— 2xÈÀEŽC¡­(4P…®PhK³²²&Lý%úÕ+­Ò,_3¿z¨eý —.ÿý¿Euj×^°B¹Î/Óÿ¼wÿÁ”‰¾ëÒYë¾,--7¬YÅU¦h]冻»;)½¯6q™x²_óŽ.4ÃÞ~‘ú.K& (îEHRzÞõçoi†íèá2ɯù¤õ·S2òK£&Io’!µjÖ,tM{;»¹3gœ8tðÈþ½½{ô „œøçî©­;v¦§§×©UkÚÕgŽÛ¸vMZµÒÓÓ·îØÉs…'ÁO !+—,¾xúÔ™ãG7­[3zÄÏ5Ýܸg·ìØ™’’ê×ÏgïŽmçO8´˜Ñyyy¶lÕSáµ+W\>{úòÙÓçNXº„ræüùâÄ¡ÐV¨BW(´¥[wìŠ~õÊÁÁaÎŒ¿ŽØæø±å‹ÿתEsÕÔË=àþ•^+øhצµµuXxxÔË—G~JêƒÍLM;´k«\M­2™™™Ûvî*N×@9S*—© 2±ó ÆÄï²dBE¡–"„¢ÅR‰iù×BÞ¶q·ïèáB‘æev?—.¿L™Ô¬Iîñð¡CŽ?žÈýyïþBÈ”‰Üj¸BÜj¸Nž0þç1c•ƒÝBW¨R¹rÔË—¿ý5£j•*v¶6uëÔñnÛ¦_ŸÞܳwîÞ#„ì :¸/è j•ž>}¦«¶R©lëŽ×nÞ|û6E¡Pp ““ß'…¶¢Ð@ºB¡-½þïMBÈÓ¦6jØ€[Ò¸aÃÆ –}+x?"QïºmÛ¹ëÄ©&ŽK9wñ"òÚ{›šš*WÓ¬ WÉ¢u=”?%?2VËÄ7ÃRR2¥„–Vcåø´¼ËO“i†íàá2¹tÆÇG !äEDD¡k6¬__ùØÜÜŒ"Ÿä223 !•+UR®P¥r%BHzFÏ~™<ѵzõ¼¼¼°ððÿÞÚ¸eëàá?^¼|™{V¹ššÜ¼<]µ]·aÃþƒ‡“”™˜BÓtqâPh+ T¡+ÚÒ´´tBH­šnEîñ’jO=ºu‹Dç/]ÎÏÏ'„œ=Ò½kWÕuôT¦]óÊÄSü›·o좠Ùë¡oS2¥BÅÂ0,!„e•ÿX–eY†KͽœÔ±¡¤ƒ‡ )…ñq«Íc^¿Þ¾k·êKZ)«­YÑÒò]ZZl\7¾!„¼Žã–ó\¡VÍš›×¯MMMOHL}÷îIp𱓧6oßÑÁÛ›bee•ššºsó¦J•\x¶ëúÍ !¿MÒú«VfffÙÙ9Ýûú3…¶¢Ð@ºB¡-µ¶¶JII}©ª¤ZÁ“µµµwÛ¶ç.^¼tåjµªU_ÇÆÖ®U³¦[ Õu4+cU±"Ï€FÆÅÊÄWC’ߤçswlÑ,K3,Ͱ [ðå?–ecSrÏ>JäÆÇ“ü¼Jv|Ü¿o++«Mùí÷'ÁOóóósóò^ÅÄœ9w~ì¤)< iÖ´ !d銕‘Q/¥RYdÔËe+”Ëù¬0vâä“ÿœÎÉÍ­S»Ö×­Z¶hîEIM}Ç=Û²¹!äïE‹ÃÂÃe2Y^^^DdTÐá##ÆŽ×U%MB,,,ŒŒŒâþ·tiñãPh+Š¯Ð–¶nõ!dþâ%×oþ›™™)“ÉBž?Ÿ1gž²3SSnˆÏ²lÑ:«ÄõéÕ“râÔ?ÜgöjÃb®2‘Qª•ñlÖ´È]’‰§hîÝÈEA³—ž½IN—|ˆ¡(ªàuóýx˜¤ä÷ÿy›óσ„®M;zT",™´îöòQ%3>¶²²Z8wÎôY³=~òèñ“¢2lÈà;÷î…½xñÓè1F`-‡ Ìs…ÐÐÐPµb›zxp†üàᣰððQã'ò¬Rë¯Z:}fúÌY%‡B[Q|…¶tØAƒƒ£_½š1g®ÖªT®öâ…2WiÞÃU­PS»VM÷ºuCBC_¾zeffÖÁ»Ú a/^üœ”ø.ŸKº ËÒ Ã ‹¹„P4Ã2̇LÌ0,˰¯’³OÜ£¶c“J“ý¼&­+±ñqíZ5·nXÿã÷CëÔ®mff&‰š{yþ:e2Ï$ŽŽëW|Û±ƒµµP(´±¶þ¶C‡õ«$ŽŽ~7>65O@Š€¢("(øÆkifÔÓ«R𫴈Ĭ\©B@Ïš¶«ÛpåÄ¥ä¸ð M³4Ë2,KÓ,ð®’ ƒÚ¹ …‚‹â–î½³bTKŒ œ)ÖÏaªÜ;í,§™Ã·â^%ç0tÁè–¦š~?,¦ÙÌ\Ù®«Ñ^¾ËÊ“Ó4+S0Ïb>ün°X$ †KÀ Ã2tÁ‡Çaq™Û.F)h¦ƒG¥)þ-0>€òª(É8Wª˜´îöÿæÞ\ä4sàflô›lwË4ͼ¿wšQ¼,“3R™BN³ šUÐŒ‚f]-”¥%¤æp«)æ}V.›±å|„‚f:x¸Lñ÷š¸îV®T>$cráaü€NõÛ7v‘+˜}×_¿LÊzÿ›Œ‚ûœ˜QŽŒYÍ(FAsÃeFA3UìÍ[Ա㊒Ó̃Èw úýןhVñá{P,Ã0ÏbÒ6œ WÐLÊý;Ô»ð0}HÆäè͘î-ªB‚þJÌâ®K¿¿¼ÌÐ4KÓ,—w•Wª¹,« ™Êöæ=½* ÞIôÔ½¸Ä´\ša”W¶ R2WÃ04 Ž~·át8!¤çW®Go¾FŸ@9S¤¯6Qw{4—/% CXEQ–¢(†°„Pa ÅR„b ¡±·4îéUY  !,!'ïÄ>‰~Ç0„e?üM³ Ëʬ\AËh†¦†%29®ŒŒ?èժʉ£ !¾­«Vs0§éÿ^¦•7p|¬xÚ³–‘¸`W‚ïG¦(ÇÐ +“ÓÙùŠÌ\yZ–4#Gš+UÈ4ðu+Wý]]BÈÑëQ½¾ª‚>$cÒ±‰Ëþó!—ljC¼]«;šsŸs7pq—£Uo×zÿ€q¶1Sò(ê‚f¥r:;Ož–-}›‘—’)ÍÊ•åË †ûýj–eHÝÊVSz×7 Ï?ˆ ºÚ± f¶€ò¦ˆß3NÉÈŸ¼îΔ^Þ]d fë…È—IÙE(BE (î5!« KXBˆ±HHQ”‚fd :#[&UÐ †{¦`¶à¿‚õªXOíS‰—ï¿‹¯@9S¬ŸÃ´«h²lTóÉëî°Ä«}c—aݶœˆLÌ–PCBØ÷?äÏB†•Óô;¹T®`4CÑ̾ÿý©WÕŠËÄçî¿^qà21”WEÿmje>&Ä«}c—áßÔÜt.""!“"¬€B†å.P³2Í0,Ë’•#¼ÌŒ ö8bÕ¿ šQ <&¬{ë)} À— X¿MÍåã¥{î^zg$üømÍê¤r:+_‘‘#ÏÈ‘eçÉóe šf¸iŒÅBèý¿‚©™‚ŽYVù€­WÙjJ߯bá¹{ÈÄ€dÌ#/Õ|鞻ʼn#»Ö®îXA® i†aXõD«ºaÁ-Z,«¶Z½*VS}‹…gï½^„L HÆ|óq‹e{ òñøõêTªøþ~h¢šqs¥t®TÁýS³,S˜ëU±žæÓÐX,þ³«yùð93ÀG±fmÒ:>^:ÂkÙ¾»Æ‰“zÖ¯[¹¢®O…•CaåBÕL¼2èÞ’Ÿ!D.—¯^ØÇo@¿«×Êårý­Ó …®B¸´6\×òâÄ_ùÀÐÊ(é ¯žõ~?üUL ÷øìù ܃W11¿®ºþÃG3¶S÷ž~ƒ‡ž:}Fÿ1£ç0ÓUÏB»Ï»S— ÃGúܾsW=½?sîß=|úwëÝwÆœ¹™Z«Á稀b%c–e¦ ½r)“{`]AügÿšK÷Ü>ÿ ÖX,œæÓ°^U+ÕkÔï¯NÛüæÛØX,°tñó°0žµÕŒŸzjí>®VëV\:óž^˜9ïï^=¾ Ú½ëÀ®v¶v·nÕZ >GJ¶8å÷‰­+ˆÿð©¡ÌÇ¿ôkä^ÕZe\LêWµþͯ Ýý½«•¹H­1ãß«T®´bõš>ý|?lýÆM999ÜS'OŸ™8vŒ“DbQ¡Â¨Ÿ~¼vý†Ú¶ºV8sîüø1£œœ,*T3rDj5iü8‰££‰‰‰¯O߈ÈHžõÑ|q751½tå !$.>þÞý}zöàž7z¤­íØQ#Î]¸È¿üó—.=ÒÞÎÎÞÎnÜè‘.]Ö_­¡ÐSˆÖ†ƒâ_„Ê诡!RòjÚôIp0!äÂ¥ËFFF—¯\%„<~êÙ´©êjB¡0%õ]ZzºƒƒÃ´IyÖ¶h]©+’ãF´µµÕß ›×¯õhÔÈØØÈÜÜüÇaCïÞ»¯µ†Õ_¦â~fLQ”òG 0 CQ”­¥ñï}]ì¹MXòM³Ê¿öo´pß㧯R !õ«Ùüæça,ž¼õ*ààÝ?ú¸ÚX e ÊÒÔöRfffÆ 6d0˲1¯_ï :8oá¢sgBÞ$¿òÃOÞ˜hìE× oSR\œ‹7kkî±±±rÈ^h}4 à¸i‹wÛ¶ÛvîòëßÏØØ˜[î$‘pœœRRSù—ŸšúN¹­‹³³r[]´†BO!Znh@ Š*£?¼††HÉ£q£•k×B.\ºôëÔÉ»öîïÖ¥óó°°_§LR]mÞ¬;vïÙ¾k·¥…ÅØQ#›¿7ZÛ"t¥®H:ØÛz„¿ˆܼ922*+;›"hg_„£ÉØàL,>Ü›õßá,EQöV¦Óû¹ý½÷6KØo›Uùͯñ²CÁE&õih,ž¼pðÞô¾5l-ÿ% Uç.ÕúT«ZuìÈ‘¾ƒ¿ÅqX4žÄÑQ×&ºVp°·OH¨^­šÖ÷%zÞ²èWh}4‹jբŖí;6nÙò<ô·©S”Ë“’ªV©Â=°{?ÄáS¾­­rÛø„嶺ë¬%†Rªñ/Ne´†WWFFFR©”KØïÒÒ4K355u–H®\»fddÜÂËkû®=7oÝrqr21ùÏ÷ékº¹Í9ƒeÙ;÷î-Zºìо=†¾3æßp­‘T+JW/Ì™¿`è -ÿœnnnž““Óç¿Öjð9ê ¸—©)Šâ’¥@ ‰DB¡Pô_Öf3üj/Û{çÜýׯbáï~¿ùz(3ñLßÚŽ6æb±Xm+®e™Å©áÄi¿\¹v---M¡P$&%mز¥A}wßu[²|eÌëX…Bñ2úÕœù Ô¶ÕµBço:¬Y—˜˜”•½f} ·°¢¥eÌëX­uÐóŸÝé)Š¢¨Aþþû‚à/}xkµz}`JJjJJêêõÛ{ó/¿C»v«Ö®›’ò6%eÕºõ¼Û鯳ÖPZˆ¡1(þÅ©ŒÖðê*°VM·ýåçç'&%-] µ@/Ïfk7|Ó¡=!ä›öÞ+W¯õjÖTm¹ Ƽ~MÓ4!„p†ªE€OõF’g/äçç›™™™˜˜¼y“¼dE€®jè9êð%(€’«æc@@Ó4EQÊ{¯”÷a9Úˆfú×™µçN\rV¯Ön!¯¾ºú{ŸêöV¦B¡PyiZ9VæøâWoèÀGŽ_¶r•T&³µ±iîå9ý×_¸§úôêI 3æÌMLJª\ÉeøÐ!jÛêZÁ·ŸOžT:aê´üüüÁp øö;iRvvŽæ=Dzžâ³;ýE ‚J..¾é¨ºZÓÆ3–V(Ú·k;ÈßùƒønÚsVûvíTÇ=øéÄR /@ â~STâårÙ”(všeY–‰D¦¦¦}¬-;7ÍeÆØØØÔÔÔÌÌL,S*Ð+aYöÔé3IoÞp#-@xà3%*½¢¹äÊý_(YXX â%¨}ç®GÇYNÇû„>k%™x*áY› hŒŒŒÉÉŒŒÉÉŒŒÉÉŒŒË™ÐÐÁÃôîÔ½ºð9aÊ´KW®*ÿLNNöñ˜““#—ËW¯ìã7 ß€Õëår¹ÖwgC¾3® IDATZ߬ÅÅÅÏœûwŸþÝz÷1gnFƇ!NÐá#ýnß¹+!„eÙ{öúù¾Gß~‹–.ÏÏÏ×,Цé­;vúÚ½¯ÏC‡4ËÑUˆÖ:hAõÁñS§üíԽ瘉“¢_½â–Ëåòå«{øôïã7`ß ƒÚ«4ÐÏ7èÐaÕ±B¡8zü„Ÿêjvv¶ÆŒ¾÷àrÉıc;ñ:6Ö ¨®àkm B¡X±zMAƒòò88xÙ¢…»·oUЊ-;vjµ÷@PðÓgË-ܳ}ÛÛ·)šåè*DktsïþƒK ÚßÜÓsYÀ*náÎ={ß$¿Ù¸nãšU?6´½œšnnNN’«×o(—\¼|¥NíÚ•*¹èd… æ“'Œ›¿h±òl)Nðµ6p×Þ}qqñ[Ö¯ \p÷Þ}žGŽÖ¢ íÐÒŽƒÖ£EÏ‘¬µ†¶Ns§z³"T¦”ÎSÏfMŸ<}Fy›’°fmn^wZyy6S]mþ¢ÅƒüýN>°tñó°0žµÕŒŸzz²ëéžç;Ÿ×]g„®&è*SWè }ÍѺ#ý¯]zÎúûm\³zËúu±±q»÷í׿ܠðjö’q±x6kjjbzéÊBH\|ü½ûúôìA9éÒ¸Ñ#ííììíìÆyáÒeþen^¿Ö£Q#cc#ssó‡ U= ÇikkË=>yúÌıcœ$‹ Fýôã5•×h¥3çÎ3ÊÙÉÉ¢B…1#Gh–£«=uÐeÒøqGG_Ÿ¾‘‘Ü —/ñ³­­­­­íX• ðl¯ê p¿Ê»ì‡ ðí§¶Njjêªuë›5ñP]ظaCF¶íÜUüàkmàù‹—ÆiggËu4Ͻh-ŠO‡–j´-zŽd­­0´uºQ­ŠP™R:O½š6}L¹p鲑‘Ñå+W !ƒŸz6mªºšP(LI}—–žîàà0mÒDžµ5¨áüOöâŸï|Q]g„®&è*SWè =ŠÐ§ú_ríìlíìlÇŽqîÂEýË‹^ÕÞ)&®Ôà¸i‹wÛ¶ÛvîòëßÏØØ˜’šúÎI"áVpqvNIMå_`ø‹ˆÀÍ›##£²²³ !Á‡w<ööÊÇo’ß ùá§o‹(J³¨·)).ÎΚ˕åè*DOt±±¶æK¥²÷‰áC”ø·W5—„‚GOžx4jtïþK Ë:µk«]Ö³²²jÖÄCóý‡ï‡Ž™8¹¹§gƒúîÅ ¾Ö¦¤¦ªv4Ï.ÖZŸ-Õ8h=ZôÉZ[ahët¢Z¡2¥tžz4n´rí:BÈ…K—~:y×Þýݺt~öë”Iª«Í›5cÇî=Ûwí¶´°;jdó÷ãæBkË¿áüOöâŸï|Q]g„®&è*SWè zÍáÙ§zš¯,ÊÙÉIµ(­Ë‹^ÕÞA2.®V-ZlÙ¾cã–­!ÏC›:…[hkk“˜”TµJBH|B‚Ýû÷>FFFR©”{!x—–¦µÀ9ó 4°åŸÓÍÍÍsrrzøôW>E©ýö‹æÏ“8:ê©›ƒ½}|BBõjÕÔ–+ËÑUˆ®:PÚN?=¸8T©\™’˜”dh{ÿ3(ôõÝwà G£FûòÿïpPÿÍ«"‘è_¦Îœ;omÀÊB+̳2> µµUvtBb¢ÖuxO‡–j´-ºŽdCéjÖêŠXq*S²ç©©©©³DråÚ5##ã^^Ûwí¹yë–‹““‰‰‰Ú' sgÎ`Yöν{‹–.;´oÏÚªE€Oà =Ù‹¾ó9Duºš «Ì"‡N׎ôœ†zÎzeQ‰IIªa׺ÜÐðá—© 9mùûï :8x€¿HTðî¤C»v«Ö®›’ò6%eÕºõ¼ÛqËkÕtÛðP~~~bRÒÒ•Z ÌÏÏ733311yó&yÉŠ]ûíù]·%ËWƼŽU(/£_Í™¿@sÎßt X³.11)+;{Íú@þ…èªCEK˘×ÜÕ¡]»µRSSSSS×n(N{[¶hþ6%åÜÅ‹é^ÍšÔGU«TéÑ­[Àšµª µÞÊÁ³2JÛ{¯^˜’’š’’ºz] ÖuxO‡–Fô-ºŽdCéjÖêŠXq*Sâç©—g³5¾éОòM{ï•«×z5kª¶ÎÜ c^¿¦išB xµT‹Ÿ†z²ÿ|çsˆê:#t5AW™E®é9 õœõÚ²>°c{oýË oÉÂȘp—*¹¸tú¦£rÉàþ›6;žâݦõ ?nùäñã–¬X¹{ß~k++ßþÿÞº­YÚ/“'­ Ü0ûïù666¾>}¯Ý¸¡u§}zõ¤‚sæ&&%U®ä2|èÍu|ûùäI¥¦NËÏÏ /ôd/þùÎçÕuFèj‚®2‹:];Òsê9ë›6nüÓ˜±´BѾ][Õ°k]nhxKxX(‘H!!!!_r2ž>sVûvíŠ\¦.\q~š¿| ½ð9î÷ 6ÁжààC ðŠ€—$€Ï÷œÅùHÆŸƒîš+[ðRòéÄásï ]¿¡ÿÙMÝhÐ9[´ÛbqÞ’1”LÝ€düi  ¦­'ËÓZÍ9ÅôÏ ¦Tó}ræÜùÁÃäZªœ­OëÜaºê£V~Iͦ«4ë–••Õ«¿/÷û±œ¬¬¬Þ¾þYÙÙ…vYÉö¾¡³ªNÄÆgŠL>*•öÔº&¤ÓuªN,¨u‚Nþç,Ÿ•ùœw…Nª¤«G ‹#ã øŒu²<­4çÓ?/˜RiÌóH¹}çî’…ó êèÝî·?ÿºþï¿‹þžw,h«æÍ•-Õ:w˜®úð‰væGÓU”fÝ,,,Ú~Ýúä? 9ñÏéŽÞí,*T(´ËJ¶÷ ÍPm"¶B§È4hâÂ2˜ÂR×Duúñ™ Sÿ9Ëge>ç]¡Ó€*éê‘Bçâ@2þÀЉÏH1&ËÓÄgN1­JcžGBÈÔIœœLLL|úôÎÍË›2a¼““„û3,<œ[GëÜaºêÃ'tE«³Ö¢´Ö­oïžGOœä~—¦é§þé×§w‘»¬È½oèl†j±:E¦A’ÒŸÂR×Duúñ™ Ó sVëÊ|Î;þSŽêê‘¢ÍÅ  ôeý臡Ÿ‘bL–§‰Ïœb:Ç%=Ï#!ÄÖÆFÙ4]-Õ5w˜Öúð ]ÑêÌ¿nU*W®^µÊµ7½Û¶¹zý†{½zEî²"÷¾¡³ªMÄVè™M\HJ K]ÕéÇg‚NƒÎY­+ó9ïøO9ª«GŠ6'ÀšŒ U²“åi^-ÔœSŒçK|žGžtͦµ>¼Þ>?š¡uóéÝ{ÛÎ]ÞmÛ:ztâØ±ü»¬{ßÐÙ Õv]è™M\X08.Í),uMT§ÿ€ä3Agññ9ïøÏ¼©«GøÌÅ  î¦þ’,OÖ9Å4÷¨õ&¦Ÿ?Ž']s‡i­E˜Íк5kÚ$'7÷Èñã¦&¦5Ýjðï²ìý’šÍ°D&.ä”ÞÔD÷DuúH>tŸóŽÿyºzDÏ\œø`dl°’,OÖ9ÅÔö¨kf@RÒóÇñ¤gî0ÍúðQ„ùÑŠP7ŸÞ½–­ øßßó ê²ìý’šÍ°D&.T¾*¥©‰î‰êô|&è,>>çÿ9òtõŸ¹8ô]™ÃoSRôÌ ø©Í‡ùì@9ò+þ„tŸÔe ¿Mý)Ò:3à§6泃’òiNÐ Pöp™ú3ð©Í‡ùì ¤`‚N.S|4¸L ðI@2@2@2$c$c@2@2$c$c@2@2$c$c@2@2$c€òOT¾›Ç²lRrRÒ›¤Ü¼\t6”3S3‰£Dâ ¡( ɘB’’“drY«­LŒMp|@È—æ‡G„'%'99:!BÈ›ä7-½Z B©TŠãÊ€P ¬íVûÖÝ[HÆòòòŒŒŒd2(4MåååñßDô%Ä…eYðÉ*ÿɘeY$c(ãÔÃÿî­òŸŒ)ŠbY–aP–É#ãâ ø£A$ãÿŒŒ‘Œ#ã$c@2.É8''g÷þ×®ßx›òÖHlÔ°aƒ¾={6ñh¬ÿ©vßv¾rîŒZQZ@yJ=¸LýA ^¦žõ÷|‰£ã’… œ$’œœìûíØ½Ç£q#ýOéz„Á:FÆ,øé³¹3þ266¦i…©©iÛÖ_·o×–û9=O!”1¯c®^»ÔªÅWnnµT—GF¾ø÷öͶmÚW­Rɸ,’±GãF —,íݳGM77c##†a E¡O!”"‘P.—_½~…%Ä­FÍ‚LqíúîYµWu$cu ÔÈ÷Œgüñûþ ƒkÖÆÆÅÛÚØ|ݪå@?_sssýOB:t馵V8¸>G§Ö_µ½~óêµëWX†­QÃ-**òúÍ«„Ö_µ•8:©½ªú"OI$BHHHH¹ ßÝw[5oeЄêŒE‰D"¡PH‰~³gÿþôôŒ¹3ÿÒÿÔ·ßõ¸~ñ¼ZQ­;|sîäqÜŸ—¨—‘7n^#„8Iœ“!_Õ¦†«›æš¦¦¦·îÞòlâYh™îîî7pñDz¬òc`g'ÉØ‘#} æJÖó!$77Wki8¬>/®Õk°,{ãæµ„Äx.sKŠÿ"ÏŒùšöÇôî]»6¨ïnaa‘’’tèpƒõ¹’õfY–¦i¹\Ε¬ç©«çÏæä䨥u!”§Ôƒ‘±zDJäÖe†aär¹¡Oeeeñ\å)õ`düEQ%52Àȸˆ0Q”}êA2ÆÈ>òÈ—©12ŒŒ?±·'øíI(ãÔƒdü¹™ynn®H$ÂàÊEQyyyæfæü7”ïˆH%iiR©” ™L––‘&q”`d\ÀÆÚ†°$ñMb~~>Ž(&&&NŽN6Ö64M#BMÓvvv‰D àø€2ÀÍj¯ëÇ ¾ÄdL‘ËåE Œa¼€d €d HÆHÆ€d €d eÍ»SBHZZZÏ~¾šÏêZ^ÌÝ/%^1$cøh.Ÿ=M‰z]£zuÍg£^F×p­^â»Ó²—ê†í¥›’1 ýcƬ>ý¿íÖ}ÄØñW®]û(Õøí¯7oÝR[ùò¥Ö¤ùòe)å<ÕjèÚ{ñ7Ñå¥ˣÆOü®O¾ýþþߢ¤7oô,›’Ò×o€Z ‰IIýÆÙ å†èKhäÅË—7lÞ:êçÿøešH$|ú,ääé3íÚ´)ûšDDDÖtsS[ø2:Ú£q#Í•_FG7iܸ´«¡kïÅßD«­;v†GDL›4¡’‹KzzúÙ ¯^¿áëÓW×òç¡îõ꪿µÒ¶àóEI$BHHHHyma\|ü„)ÓV-_êìä¤öTjjê†-[ïÜ»'—É7n4yÜX[[Û¬¬,ÿ¡Ãfþñû®½ûÂ#^˜›™ÿ8ìûfM›¬Û°ñÎÝ{Æ&&£þ©c{ïÔÔÔa#FM3jÏþ±qñ•+UúuʤZ5kB²³s†þøÓ»´4“ZnnãFr«ášÓ½¯r×ÇÙtðÔ‘C„FŽêÓ³çÅ+Wž‡†:;9ÿ>m —ö~9ê·©Sjº¹effnݹëö»™™ ÜݧLï`o¯Ö–NÝ{?dllD9yú̹ –.!„äææö¹³§üúû©#‡Ôª1qì˜ã§Nùúø\»qóÑ“'b±hÄ?téô­jÉü7áSÏ}ûíÚºÙÒÒ’çòµlllüúù¨.\±z‹³s¿>½U&¿}¸ióÃÇOòòr›4öäïW¯n­UÊÊÊòòý¸Q#;ž“Ÿ/ \`og§¼ˆ2gþ­Ö›™šòÙ|϶­x€"sww'_ÂeêýA»w몙‰322ÇMžZ¥råm7íÝ]½jÕÿ-[N‰‹OI¥'þùgò„ñÇ‚‚úù¬]·`Ñ’n]:Þ¿wä?¬^¿ž™Ÿ—wíÆ¿ófÍ<~ðÀW-[, XÅ•|åÚµÑ#~>uäС½»¿íØaÁâÅ„ ÌÏÿ»Y“&—Ïž¾|öt³&M*¹¸B ÅëØ¸c'OŽüñ‡cAÚ¶þzÙÊUÜòø„„jU«fg猛<ÕÄÄdõŠe÷ìªáZ}ÉŠ•šÍ´°°ÈÊÊ"„deeíܽ'--[~øØñ–ͽX†åv§Vn]:¿Ž;sîü ~Göïýmê”u6ª•Ìsžõ433Ût0.>žçòÐP÷ºš#ãçš çü½ n:;7o:¼_»6­÷ÔU¥¸ø„ÜÜÜ“§ÏL3jÛ†@·®‘QQ\! …b銀±#G˜™šòÜ/%P|åÿ2õÝÏŸ§¹|Çž=íÛµèWpWð@?ßÞ¾þÜHÚÅÅeæô?„B!!Ä»m›Õë'ŒSµJeBH³¦Mä29!äEDD W×YþAQ!d€oÿýqE}×õÃMËݺtÜ´™{öâE­šnÊñº‹³!$æõkBȬ?§soú÷í³gÿn¹ÄQ"‹7nÝÖ¨aƒ? ç6:h Ö;™--,2³2íìl7nÝÖ¯oŸ]{÷Bróò;¾fŲg!ϹݩU#æõkccã¹3ÿ277'„ÔªY“%¬fá|6Ù±gŸz.˜;{÷¾ýã&MQЊfMš 4°ZÕªº–ËåòˆˆÈñS¦ª"‹•õQzË0tVV–DâømÇßvì°vÃF­UŠ‹wppX<ž©©)!ÄÍÕ5"2ªe󿄇;I[ÕJO‹Ô6@2.\ZZš£ƒ£æò+W¯­ XñaµôôŠ––„ø„„6_ÅebBȫׯëÖ©ÍebBÈËèh777BÈ‹ˆÈÞ={p™˜’‘™imeÅ L÷²yûî®.BHFfFn^®ÊÈØ™jßü÷ÖóаÜÜÜ3çΟ:sv€Ÿ/·œËyõêÖݲ}gZZšB¡x³tÅÊäädÍfZXX8t¨ZÕª\mmmm7oÛѪe n\®ÜZ5”{Q¶®n:š…óÙ„O=7lÞràС·))r¹<úÕ«‹—r÷´ëZZO[2ÖÌпý5ãîýûr¹<===<"¢v­Zzª¤ BHåJ•Ò32Nœú'%5Õ§w/år>›kýŒŒÕõíÕS$Î_´8!1±¢¥e»¶mûûB¦L¿,`•ÿ@‘HÔܳYÀÒ%6ÖÖ„øøxÕdü<,tÒø±Ê?ÃÂçN˜Ù¨QÃzµk9Z&“}Õ²ÅÊ%‹¸k˜“ÆY¸dYÚ»wÎÎNÝ:w®éVCù ¾¾§ý’³xþßʽD¾|ùÛ”ÉKW®Œ‹¯_¯ÞÒómmlˆÊ—ŒŸ6umà†á#FåäæºÕpíß·¯rèöŸ‘±¥el\üüÙ³¹?íìlOœ<µkkÁÇÕªR­†ÚW™¹ÖiÎg>õìÒéÛÝûöï :”““ã`o¯üÌ^×òÐБ?ý¨VHhXØ„±£ÕöèÚuÇî½3æÌ³°¨ÐÂÓsæô?ôTI­‹)Šª^­êªuë—/þŸòã þ›_ùÿjSiضs—‚¦ü~(BÅñ¥|µ©4¼ˆˆ¬ýþâ3@1!-GÔ®…d %C„ÁÁ½»ÀÈÉŒŒÉÉŒŒÉÉŒŒÉÉŒŒÉà3!BtaY6)9)éMRn^.¢afj&q”H$E!PE ’1€Á’’“drY«­LŒM|i~xDxRr’“£U´@!ìMò›–^-…¡T*E4„am·Ú·îÞÒÌ1Ï@!,//ÏÈÈH&“!„š¦ŒŒòòò¨" É ˆX–E¨R…d PH‚AŽQ†®›’(žB20 ÷zjPŽaY6"*<õÝ[­ÏÚÛ9Ô¨^Ë —éò(@2(•‘1˲QÑ/LLL:zwÖL¸,Ë> ‰|þùæc=¡ÀȘg ŒJ1³,abbR·v½œœl…B®þ‚+Õ­íú"$òå‹Õk~Žù—©‹($cÃð¿úʲltL¤2Gn™ö‹ê†EÕûßÂ#GÖ­åþ,*ú…kµO+·éøíµ çJ;P€d P*#c–e_½~iddÄeâ—7EÍžÓ¶zu#€V(¸9RiÈì9„ekŒU§výЧQan®µ?©|̧¥Å¿„ð…6HÆešŒ_ÅDÕ«S?'';zÓæÈ™³šÙØQCÓ,Ãp% …u„°Ùsa]GŽt¯[ÿqð£Ððguk××,ðul즭Û? ÎËËsuuàÛ¯mëÖŸH2.ñËÔ¥ÔØvßv¾rîÌG~ÂÔ_úöŸ4nœõ‹ˆˆ]{÷µùúëOydÌ3PšJµ±q¤Ž‘1@YŒ !E ùÓ‰“›ÚÙ‰)ŠV( ¶å’1M3 Ã2ŒËVW(§ÿé4t°EK™\®Yø¶»ûõéݯo†ahš®éæ6oÖL¹\Î¥®M[·=zLÓt“ƧL_ÑÒ’Ò¾s×IãÆîÙ -=ÝÍÕuÊÄ Õ>ªÂIDAT«U%„Ð4½c÷ž³.äææò÷ïß·W«ÝûöÿsælNNÎW­ZŽ=ÊÄĤ˜É¸È#c=mß¹ëèŸ :|$%5õâéSºª­5&í;w%„xwêB¹tæý­þ’1¦P(<ëGá^{Y–³,­P(ÞTLÓ4MÓ\2æˆX–eYMÓ #—Ë5K{ôø±wÛ6 …‚QÓ4-“ɸ§f͛߷W¯£ö9°ÏÁÁ~Ó–­Ê Ü{ðpõŠe§iÙ¢ùòU«¸å{= YµliÐî]©©©Üƒ‡< ~ºjÙÒ»w2 ³eÇN•Vðjl‘ePc !ÁÏžm\·æÆ¥ zª­5&7/_$„ܼ|ñæå‹ú[]zŒÊ>³ ÃrƒQ.+©¥d–a!4­`hZþ>ñ¨ÊÈÌ´ªXQ뎶oÚР¾;˲BàÇaßß}ð@Y©'ØX[³,Û¯oŸˆÈ(nùÙó&kgkkdd4vÔHná©3g'gccmdd4ú矮߼ù“±žÆBÆmQ¡B^^žžjk ÷»Ðyyyܶz6ÿD’1.SžŒy¬ÆÐŒ‚B+wîP”2A)¯Tsÿ'„(hZA+´^¦®hiù6%ÅI"ÑÜKðÓg·nŒz™MÊÍ+T0çJ R©”[þ6%ÅÁÞž[®œÅáMrò aÃ?ŒÉ(JYHÙ_¦ÖÓXBˆµ•Wy=ÕÖÕúèiu)6HÆ%ƒç}IÜUVZAs)•ûh•Éøý­\©…»ˆ-×–Œ›xx\¹vݯŸæŽþþߢïúªUË ææÙ99ÝzõQn®,Y58ØÛÇÆÅU«ZUõ)G‡¥ H$ŽÊ%Êù…Š|7u‘oàÒÓXµú誶®˜PÿM·zZ]JÉØ »©q™ ð‘±~2™œa­ (*O.W½F­z¥º`„JEQ4­+r™–ÏŒ‡pôø‰CG½}›"“ÉÂÂ_Ì™¿{*_šobbLX6úÕ«…‹—¨ŽG5/›³,Û¥Ó7kÖoHHLÌÊÊZ·q·°g÷n / ‘™™ò<ôÏY³?âej=U+SWµuŤbE˘ױ…nβì·ßõ(ô1.S|üd¬¹\&—Ë)Šª±`Þ«Ùó*K¥Æ:6—kbâüÛ4J ”ʤZGÆöö+–,Ú°yËî½ûò¥ÒÕ«ûûöçVûuÊäÕëÖÏI\`ccãÛÏçúÍu]aæþôéÝ;7/êïäçK‡ ðçöèÖjÎüIoÞTrqþáû¡ñ2µžÆªíNWµuÅd ¯ï¤i¿dçäœ9~T«Õv¤ë±¡‡a×`$ !$$$§€šûî{6ñ,ôzfxÄsBˆG£&é™ »vÇÍû»r^¾‘Æj\&¶Ÿ6ÉÞ·¿y‹ë7®‰Û|ÝN³@@ ‹…B!!„a¹\NÓ4!D(q`år¹‘‘Qnn.!ÄÌÌŒ{ÀQýS,‹D"Š¢är9÷•!BˆH$‹Å\92™Œ+\­­LMMï=¼×Ì£YÑ¥•®ÆjÖGkµuÅD,‹ÅbBˆ²­›«íH×cCé ”&wwwŒŒ Á}åFÿ:5kÔyúôÖÝ[M=š9øö§i:vþÂÊùù˜ÛXNÈkÛIã­}|ŒM/_¾dldòu«6Z çî¾Ö\Î]ôV‘$לœÕÕTÿ”ÉdÊ[·T7Tn«u+=Ñ(N ´ÒÕXÍúh­¶®˜h6\ëæj;Òõ¸‡Aë#òªÊç…µNm÷àgÿ½uÓ³™§]š¡_ΞGB¸¶ÆØôïkll|ùÊ%cÓÖ_·ýì~ÏY264•ïÃÉ dt“p÷F?¸~ãZs¯¶>},z|DzŒê=B¡H$6º|ù’±±iÛ6Þä3œæ¨Äï¦.¯ðÛÔ%<Äá™c E ךƒ\½~¥e‹VÆÆ& Ã0,Ã2,Ë2Ü\¼pQ${5k®P(D"Ñçâ #c$cƒ‡8|rLnn.÷{OŽöÎ/"ÃöîÝÃ}½˜ûL–ai†fÖÞÎÞÝ£AFF†L&355533ûì¢QÌ@}9‡ ’1@É (Šç€ÏÔÔÔè½F <¸{…¸!„îV^±Xlllljjjjj* ?»ìÅ0Œ®ËÔó ’1@)ŽŒ¹Œknnnnn^Jƒ'ŒŒ12@2$c$c€2gnfž››+‰f!Eååå™›™#PE”.ømj$Ž’´Œ4©TŠPBd2YZFšÄQ‚@9PÌÆÚ†°$ñMb~~>¢abbâäèdcm£ùƒYÏ@!Œ¦i;;;‰D"à:"aF¡PhýEIŠg ŒŠB×U‚ðÉÉŒŒÉÉŒŒÉÉÊ%‘HŒŒ¾\ÿšŸJCKw ôIEND®B`‚danfruehauf-NetworkManager-ssh-f65d65d/images/MainDialog.png000066400000000000000000001162161507335542500241430ustar00rootroot00000000000000‰PNG  IHDR² oW{ž pHYsÄÄ•+tIMEÝ *Ð}ª‘iTXtCommentCreated with GIMPd.e IDATxÚìu\[ÇÏË»ôÒ Xˆ¨(‚„`¢ˆˆ(‚…­X׸¶¼-&J‡„‰ŠX¨ˆ(i"Ýݰõþ1:wÝLÀçûñsïÌsê9gÎüxΙÝ‚²²2¾ ‚Z¸p! @BB‡DB,ëíÛ·0"üå°X¬ÏÑ"ƒÁ`2™!%eEYY&‹¥±þûß焵5uå•0|ü²(%Mqpp““'‰“H$Ñææ¦¦æ¦ææææ–¦ææ¦êêêóç#ÊJ™0|t=0%üJi4‰DÒ™´…… !a‚ƒÉ H¢¢,„šZ¬¥ÑiXæN …B @mݺõýû÷~~~ÒÒÒ<àÎ,8µsÑ•úòWîwG‹L&;a0è &CHDDFÓPR‚¨(#ñ:»¢·†¬Š™NgÞ¿u•@ 0蟗Ø777---vˇ6oÞ̳óøAff¦””Tmm-‹ÅÚ¾}»Á7NŸ>åaOý)NJKKÛÙÙéëëKKK755§¤¤DDDüþËÿƒ èv!îß¿ïááU²ÿ~]]ݧOŸº¸¸pÔ¿oß¾þýû§¤¤8p7®[·nÔ¨QYYYÎÎÎì—µµµµ¼¼üÁƒ/^lmmÅÛb±X›7oÎÌÌD9993†g[***VVVzzz²²²¹¹¹×®]KJJê Óø7LB ­‹h:Á`0X,¦.µVG¶’ŤÖa!„XM,B£¤‚‚‚ÈrŸ¾=‹PUU]R\Ú1ûVWWWXXˆçååq‡·¸…Éd2™Ì½{÷rž‡;õqvv0`@}}ý«W¯H$’ªªª¾¾~xxøo»êX¯Üáov„}ùYBqqqýû÷»gΜá°,Y²¤-E°lìÇߨ[Ä¢E&‹I§µ²o2î)gn¨R^K‹O+*¨lîÈ›ŒØ½§¯¯äÈÌõêU‘]»v©©©•——gff.]º”=ZÄËÞ½{wÒ¤IJJJYYY/^¼hjjbOŧM›vãÆ „žžÞ†  Æž={TUUËÊÊÞ½{‡7w\ÖÚÚZZZª¤¤´jÕª¤¤¤?>þ<''KÕÒÒzõêUAA´´ôĉíììÊÊÊnݺ…·µµÍÈȨ¯¯×ÖÖ>zô(NÏÌÌÔ×ן={ö³gÏž={†çœ2eÊÅ‹ ÍÌ̶mÛ¶zõj¼‹%$$äââÒ½{÷>Ü»woÔ¨QŽŽŽ Ü³M€Ã:Â}!°[](qš››ïÝ»gaa1~üø¨¨(„™™&—uuu’*--­¢¢‚jllĪÂR~üˆm2ŽîÉÐÖR!”¿ª¡>{ñl€n?!D§3X´Ø‰F[.‘H$99¹ÊÊJ,rä hàªÄLõØŸ bOxÄÄÄ444òòòúöí+ ¸¥¥åíÛ·KJJ®_¿?qâDaaaYYÙ±cÇ®X±¢¹¹yëÖ­ùùù‹/7n@àÖ}¬i\|y¢££ƒ=ˆÀ"/|ÁÈî0F[³f ¾Âã9Wø9ÌÏþ}×(22rÀ€“'OÆüÁVÓì|ðàAlíÃ=JžžžÃ† Ãvëêê=zäããSZZzûö퀀€éÓ§oß¾ýñãÇØS¬~¼,wÓìÿeÏyìØ1]]ݬ¬,÷ïß³—¢ÓéöööË–-3f̲eËšššrrr.]ºÄóšòs˜Ÿc 8jã7moÞ¼9cÆ „н{÷*++9rò¬#•N§»ººzzz h+))ÉÊÊjÉ’%ÆÆÆºººõõõ¯_¿¾páV|Þ¼y«W¯9r¤……EII‰ŸŸßÉ“'Y,–€«/ IÀ83 GGG33³‰'655Ý»w++`þ ‡ö-cÁ“äÇ‹`ÙØ9*a±Xeee|£»V7%eEø>‰NËÈÇç¯epXxvvΩc^§Žyee}  Ç“’SR=޾yÞÈÐÐÍË[°=êÂÅŒçÏÝÿ/$ÀΠŸ Âìa‘Ï_¼t?ü¿Ðÿ²²r\ ïݼÁ­)ßá ;<óìÚÀrÚÔÈàˆà@y…3~~xþ¤'Oþïà•èÈñcFoݱóabâáû/Gž752úf¿~ýÁƒ\}þâeKK GÒ¶w[[͸y9*‚ª püÔi<éÑãÇÞn®q×®š¿~ó–ø=޾se¸©éÿŽºâÙž¦¤úž ñ;—“—ÂQÿùȨ´ôtO÷ á¡t:ýôÙsírO@RÑîÓGMUõÞý¸%îÎ~::Øß!PÈä-Îλ÷ Óé²%§¥šÇ3É/0(+û“ÿ™ÓþgNg~üèŒ'=yúô„—ç͘+&FF‡Ø“§ß…„f<îãá~á|Xii.…Iⱃtø™²X[[+//Ç3éÖÝ»kV.§*(PÖ¬\~ûî=x˜€Ùcãn9­Z¡ª¢B!“W-_&¸ßá ;<óœ=y|°žž˜QRRÒqáü§É)xþëתª¨H$k«MMÎkTT”±Ó·ïÞ îW{·D _s`÷®îÝ4¸{˜M±˜i;×ûÄɆÆF,)Äÿœ¾>‰D¢É+–.Izò_ƒoÛ²Y]]MB\|ŽÍ¬ÆÆÆ6oTWû|úúÍ[<›óZ'EEª¢"uƒÓšØ¸8ÜŽ\Ž‰Ù´a½šªª””ÔÚU«îÝ¿OàB€{’°H‡ãwß Âûy!ááøihx„ü¹~VTT¸yjhÈn¢?xÈ`ý3~þ™Ù©©©U¤R ¼¸yë¶óZ'%EE%EEçukoÞº…׳e£³ªŠŠ„¸ø¼9¶ïÞlç7†1±±×­SWW“’’Zï´†§“øi{Óî½E))©ŠŠJoz©¨¨Tùò5UÕòŠ Èdò2ÇÅ˳X¬OÙÙA¡aÿîÝç~øBèÍÛ·Þ'N¾{ÿ¡®®}ý*GªÂç¯T‹‹‹#„äåñÓ––<›ºšv¬¡®^ZVŽÛ±ƒ¢â;ûÿzÄõªHÁî HB=MxÀQÕÐá#¹ë¢?XHH8-=cˆþà¤'Oe¤¥û÷뇧…’••524ÀÄ…ÝÿK/_9ÌÄxÐÀ<ÑÒÒÒå8š_ ¿Áäiç7†¥¥ešêÜ.qX°Óïpø™{‹úƒݽßmaG^^®¨¸Û¬)(,įG{Q¤*>¸_YI‰ËN-(,äØ äןå ;{ºÌŸgg²c»¤¤dCCÃ4k›ŸÒ¯ŸµãN zhimXëdaeY¶ïÚã¸pþÿöí%“Éõõõã'Omosø€*R©©ÊJJ^®Gyþl‹{mIj ì熄Ñî0o.{·¶²#**ºgçö-;vúŸ>Å3ƒáý[wî.°ŸÇDUPÀ'/¿€{pÚ¿1TRTÌË/èÙC«-Wÿg9|ç"z½Ý…K—#/\,+/§Ñhoß½Ûµï–4nôhïã'ËÊËËÊ˽Oœ7æ;ØMŸ:娻gNnNÏú”½÷  fŸh6ÞËçDQQq]}½ÏÉÏóXZJ*'7»’Ÿå ;ÍÍÍ$©¤¤ô¨‡×ÏêþÔèûÑË×8ݹw¯ªªŠÁ`ûœ<5hà@,©©¹IR’,.!Q\RrððÄö ›çZŒã!äîu¬¼¼¼¼¼ÜÝëØDs3Ž Ö3,>œ“K§Ó?f}Ú¾k÷zD€{’x.iy ÂÈáÃJËÊnÜŒ«ª®656þf~v{-­™––GÝ=yf^¶xñù¨¨°ˆÈ²²rþúÍÛ­;vbIÌÆ»zz•••—••»yzN0ÿÍÁäiç7†S&u÷(,*ª«¯w÷>†e¤¥³sr¹+i¯3À÷­£ùF‹êjjn‡õ÷ iinéÙ£‡­Í,,É~îœS¾g—­vB9bÞÛïS+Ëé!¡÷î+*.ÖPW[4߳ϞeÝÔÒ²vã¦ææf{»ÏAÁÜÙ6«×¯¯¯oàØžûYΰ³yÃzŸS§÷8(''7Ûz惄„ŸÒ¯öF‹×lÉ¢…QÑ.‡6·´((È71Ù¿û_,Ï¿Ûþqóôþgç¿ òòösçܿϱм4C 52oáb:nn6~Ñ‚ùÅgϲÚ¼m{aa¡¦¦æŠ¥ŽÜóI€{’Úø$7η·Û³ÿàîÛ÷‹§Ýv–µÓ†<3kjjœôö:~ê´ï9¿æ––Þ½zÍŸ7Ëæ¸p§ÏqûÅŽ!³qcs w[<íüÆÐÁnnssóÒUkš›š.ÀŒ ìç-^¶¼®¾>%1½’ïpøž»{O4¼ù¯£‘’ž2fä˜ßÓ–épüö€¿‡ø‡ñC}õÉ_ìÍð莻ü;ÿàCpß^DAAàN{Ä{ÚË&¢´¤DpàïÔEˆA€Et§ERB²¦¦FFF†~ÕÕÕ’’°ˆîL(+)üô±ºº†~…&ffe*+)C´Ø™“•C,ôæÝ›ææf ø¹H$%9Y9ƒ²Øi`0 ÊÊÊðBTøé0™L:N£Ñ ZìdÐh4~— €_D" ‹ ‹ ‹ ‹ ‹ ‹ ‹ ‹„¿ô[.4Ëã~mô³Æê&æokTF\h¦žÄÚQRDaøÅ0Yì`x?¨IÉ£/¥&&úûF€F§ß~^rüaíºÑÒ0óÑ‹KuÃu§&"„DEDL´/fÔ´€.-2™Ì̬̂¢‚N÷[¢¢¢95añŸ±¢}â­tVÊ«÷u•ð3<¯ŽšŠZ¯½àwƒ€Î'‹™Y™µuµÃM†KˆKt®757E?x9Hò§èCýXZi5¢ó Ýï¹:Ï3>~úØ»go  “Éb^Ažá`C&ƒY__ßéúÌWî£$öÇdQ‰D ªtÒ¡û ôÒê•ö, døƒ|ÏR¥¥¥±˜˜X'ísy#«—"‰ÃXXTôðQbæÇ,„PQqñO<þ”Ídþ÷¼»—"©´ 3âââBÂB---0@gŠkëj;Ë«—&N³Œ½r‰ÃXRÛ:y0‰ã½z*ÊÊ*_~ [UEEUE³ÿà±²’RYyùËW¯õÀŒ=IÞ´ÂÌ…L©­«¥ŠQa(€N-ÖÖÕ’%É·Ï¥5-ÝÄÙ-Ï_¾úÛüBBBT…ú†ÜÒMA¼´¦Ó‡B§YþºÊÉ’äÚ:x^tªh±®¾NA^A@†ªªªóÉ)©$qñ¾}úLŸ:ÅÐ`HGèpm3ƒ(Ì”‘e7VW× „rsó–¬Zu5:ŠH$~Ýßú%+V>~lì„I˜ENNÎÄhè§5ÒÒÒ!Óá&FF^nGÙ#PÓá)‰ ˜231Æí2¢Dafm3CŠ$Ì/¶ÅEGVFfˆþोIQ¾ñŒ¨¶¶vÕº eååÜÑ1B¨¡±1"*:!ñqYy9‘H «;}ê”AzÛhsœòlåg!))Y^Q7'Ðu¢ÅŠŠŠµ›6‹‰ûvý{á|عS',¦L¾ÓA:\RÓ¢¥À¹±8°¿.BHSScÐ@½+1×8R£/^ê¯Û¦”Ä„”Ä„`¿³---GÜ=ðZTͶ·ˆEF ìíwíÛ¿çßß1¦¶³¬W¯ß `oñó:º¡IIšÄ/ZäOžh~ú¬ß¶Í›øeài·ž1=6îÖ©³çZ[[eedÒ[³|¹à¶´˜º}×î†ÆÆˆà@îÓoF‹VÓ§ù¯ß¼UDXx¢¹Ù‹W¯0»þàÃneååêjªkV,°ìÀ¶ådåà.~3eee„ЫW¯Ú’;'/§²ªRUIµ“ö6#«´Ww!:Ý9ìUÕÕ²¿òëŒ{‹¡Ô7Ù™Ùyƒz(þ “,7/輻——ë‘v•*,)”“•ë¦Ñ îRà·¡««û=Ñ¢˜¨˜€¿ðœZ«¢,hQöÅ›co!¤(K~õ¡µóŽd[ ³˜2™N§†„ènogÅDÅàa4ÐѵµÊŠÊX››äex|‹îùË—û÷ÿ…£Ìµ·(/CiinêÚ²¨ /¿c÷^:ƒ>dð`ë–í–E1±âÒb¸E-‹ £©¹ITD´“ÞÌ4:ƒ(Ì’ ñø=´êê&“ùë~š{oQ‚$Ffµ´ÒDE„»êÜ27ÖlÜXü´½ÓFTD´©¹‰Á` à tPY¬o¨'‰‘?oéÈ457Se8?±øyC¡Ÿþ½Ÿ “É,+/W¤R¹+§Ê›š›…%Äaòƒ$Fªo¨—–‚7‚Vëë‰Dbç]÷µ¶¶(ÈJñ[î!„RÒÒ ôKJJþ¬ãÔô QQiiî_íU•j¨«g’Ä`òƒH$Ö׃,¿ÞO¢ãîÆuÉÞΚ1«ã¼;‰ÉdF^Œ„)ó±æ_-?‰¶µ¶…!û¥ à À$<*œ§^; ²²²²²²²²²²²²²Ø1Ð34Ò34‚Ë @Ûùñ*jkë|ýüîÝPT\,"""##Ý«gÏcîn0¸ü²XUUe¿È±¼¢bÓ†uãF%3ž=  ‡‘à/•EŸS§óòó7¬ušii‰Y†™˜ 31Á3°X¬ —/‡È/(TRTœ3Ûf¶õLìÅ&Øòv﮾çü‹KJ´ºwß¶eÓ ÛRjë¦þA%¥¥O“BÁaáGÜÜ…„„ädeGá¼~­¤„\]¾ƒÝ[Œð!Äþ‚7"£/ì=à¢Ý§Ïíë1æãǹ>}ñ{†ä”Ôп=;w¼{ÿ~Ïþm,õæÍÛèðPLB #“Þ_³rEô¥K^Ç|àÒðgd±ªª !$//[°§øƒŽ°ˆ„Ð2GG2™ì`7!~ž½§U+)Šùøq¡ìœÜ6—ZA&“ñÓeŽ‹{hi‰‰Ó¦NAݘ—€?³ˆV—/.))..‰Yž%?aø›_Pˆ²°š‰[róòØkP¤RÑ—Ìã¯üf)üøÅËWÇNœ|ûþ}mm-VCIi)\ZþŒ,Ž3:$üü¥+W×®^Å3UA¡ °ðÖõLþÚH»JmÞ¶½°¨ÈÛÝÕÔØ¸µ•f2jtç}k+~½bé’>½{‡xúÏÍË£Ñh¹yùììæÌF¹zxVWW746&$&._ãôÍjÛUŠÁ` „È’ä–ÖV¯ãÇá¢ð'£E …tîl`Hè­;wB™L&™Lî§Ó·_ß¾ŸÎÖVNV.(4l²¥Bh°žÞ|;»oËb{J¹ìß{èˆëÒU«äåÍw€‹ À@PVVF½zõŠÝw7^a @×&<*Ü|¬9»EWWÁw¢8YYYYYYYø…ˆÀ'L&37?7;'»®¾F£Ë@!Sºw뮩®)$ôý1È"ð—’›Ÿ››—K‘¤ÈJÉÂhthtÚ§ìO¡îšÝA }ääæÈËÈËÉÉýHXt4X,VEEENnÈ"´›úúzí^ÚâââØË0€.#‹bbb9ù9?R È"ð÷"!!šØÅ ?þÃòø{ïÐÄ.|q!Z€?pó]E¢Eþàý Y,¯¨8í{îá£G¥eeâtûÏ™m3b˜©€"z†FÏ’ŸÀ~k681ÂzÆç×G^¸ø0á‘—ÛѬOŸ|NžÊxþ!4hà€•Ë–öìÑËc:zlbü]Žzp£éèÏo ––’Òí×oíê•êêüZ¯oh ð°´¬ŒH$8pÖÌúú‚“;ÐÞ†p‡qøu±Ðʵë¢ÃC‰DâW•×ׯpZwÜÓ}‚Åô6V%`Lºx´XZVæ°ØÑlÜ8O5U•¦ææç/^„ž?/XàwF‹+–,Ù±{ÕôiÂÂÂt:=ì|Ä=» W¯wv°›»}ë„ЭÛwÖlØxæø1u55Q n||ÿB¨¦¶6"*zŸË¡3Çñsf瞽ʊJ®‡\”•”êSÓ3üƒ ‡ œôMÚÕî07ÜÑ8àZl¬Õô¯äïâ•«ºýt¤¤¤ÚUUŒÇ#Ÿ“§&O˜à¼Ö©‡Vw111ié‘ÇŸðòÄRsrs·l9ÎÌtôØõ›¶TWWc¡"úòÊi,“É<}öܤi–#Æßµw_SSBhꌙ³²° Wb®a³²¦Î˜É¯æ…K—ÅÆÝÂ}+*.7iJ}}=ûK\¿J1úëöëÝ«WÜí;!îÎ>½{éöÓñõ °ža9w¶‚¼¼‚¼üœÙ63-§ŸõÀ%•À»àb2ÒÒóæØ~ÈÌ$ð'ãÙó5«Vhjh‰¢²²²ãÇŽ9áåùÍ$Á´·!~yvdþ<»°ó‘, ÏF§Ó£/^š7Ƕ½Uý ~pbüYLH|<Ýb*¿Ô[ÿ±5ëÖõ˜¸˜+JŠTOŸã!lùü,ù ¾Ž OIMó=yüÚÅ‹4:ÃçÔi„©±qjZ:B¨¤´ôGŽ646"„RÒÒ†™ó«yÉÂ…§|}ñ7¦žò=kg;›L&ƒFË—:b¯i _¶Ä!”œš2Éü«w}Lž0!9%µ]ÕÖÖÖ…†áKožèärøèó/[ZZÚžôüHmìÑîÓGMUõÞýxjÜ;ýtt454~Ö˜tñEtUU•²’û¦!v€I^dhv*&&¶fåŠ6¼_­}é²ÇÑÃjªª!çuNv n\·ÖÔÄøzìMë™×nÄÅÄnÆÝ²²œž’š>uòD~5›š‹Ÿ”ˆ»5yâ„ܼ¼ÄÇI[7:ãÎ[´È~Ú«GÞ½{8tX»wŸ^=z „ª«k©ìÙ¨T…êšÜ"x kR€Ö´·6¢?XHH8-=cˆþà¤'Oe¤¥û÷ëÇ^¤íUý{‹¦&Æ—®ÆðKݲmÇ´)Sb.^HòøÁ[øò–£c*ÊÊ7®\–ÕÏ’Ÿ¤?yŒ’WSS»}[LŒ4bø0:ƒqïþuu5qqq59BTTÄó˜Ï³ç/¬­f€:€&â`Ëì¿¡¡C†Ü¸ÇžázìMCƒÏ(ÔÕÕÞøÀžúþÃ%%EŽVÔÕÔöîÚyè¨[ccc[¼ê¡¥µa­SzƳ¶'}_÷ÛUÏŽ,°ŸŠ  w˜7·íM·kL~?¿CW.]zõÚuWO¯¬OÙ---µµuðÔ¦¦&IIIq©°¨h]FF&ëS6~jcmµgÿÁ¬OÙ4íCæÇÍÛv`öa&&GÜ<¦Nšˆš2q‚Ëá#ÃLL×L –,Zè¼tñ"Ñ/êá‘Ëß©Œ‚Y,Y¼02úBXDdeeUeeUXDdÔ…‹K-ÄRgÏœyðÐáôŒgi™eeÅ]вò ½7oÝæ÷ˆ`ù§;÷îUUU1Œ¢âbŸ“§ øÍ$ÔþG.í­MpGFVZVvãf\Uuµ©±ñ7}hטüÁ§.¿c­¢¢tÎ÷äߥ«VWVVRÈdýÁƒÏùb©»wî8êî±éŸmT…ùóìnßýü\ñ|‡ÅŽuuuØ¢{ŽAhÃæ-……Ý45V-_þE89ÑÜ !4ÑÜü¨‡§©‰±àšBBBšÓ¦NiøË5Qp Ù½[·Þ^ÞÇŸÇð·îbÆo¾¨¾Ù~••U‡ÝÜ’ž&×ÕÕ‘%%UT”ÃÛØ}ö.t¨NðǢŧÉ)磢;õ@ìsùß›q»wl|ÿÞ o/e•ŸUó³ä' ’ð×ÉâpSSïcyùùÜI,+úÒ%ë9sGŽžnmÅb±ð¨Š}9uÆL=C£7oß!„nÜŒÓ34ºq3!ôúÍ[=C# «™X~&“9Ãf¶ÑˆQ–³f‡†Ÿg2™ìU…EDN˜:mÐPcOîÜ»g`:|°‘IXD$eOIAéêè‰Ä~:}ÝúŽ.p[x_މ±°²66ÂÆÎ>ãùs¼¡‹—¯Ì°™m8lÄ Û«×®³|þâ奈7tøÈåkœ'ÁÜ€-‹{þÝ!&&¶sÏ^\¡p"£/ì=à¢Ý§Ïíë1æãǹ>}ñû2¦†›š „RÓÓB·ïÞÅÿ›–‘fjŠå‹ˆøß‘£&FF·¯Ç =äêþµÌ½yó6:<4ãéWÂsýÆÆ­ÛˆD¢‡û›YÜ]¢PBÖsæîܳ÷âå+••ßÑn O’SRCüöìÜñîýû=û`ÆË11»÷PUQ½~éâiŸc×bcÙ‹ü³óß´ôŒý»w=¼skÉ¢…¡0w CË¢‚¼ü®íÿ¤g< ãH ‹ˆ@-st$“ÉvsB!áçyV2ÌÄ!”š–ÞÒÒòèq’¬¬lBâãæææ´ô <!}!4ß~…BY`?!}½§U+Èd2»%"*zÇî=ª**Á~gMMŒy¶~`Ïn¾ÚÕ55Wb®íÞ`¢Åt\˜ÚÞ…6â´j%…B1?!”“‹ƒCBׯ¥R¨T…ÍÖ³©­«UT¤„!ƒswƒ¹ ZBcG¶œfásâdÖ§lv{~A!BÈÂj¦ž¡Ñð±ãB¹yy½z™ E‰“H0wà!òs«Ó0ÀqÑÂÓ¾gÿ“E[[9Y¹ Ð°É–V¡Ázzóíì°¤UË–?}fŠ¥úò°b¸©ÉQw‘ ff¡‰ææ‡ÝÜi4Ú0¶ Á…ö,ëJ̵¨‹—T”•7®_7ÇÆæ›Ž 54ðr;ê´aã®}û«kj°MIvÈd²—ωʪÊÖVš‚¼¼õÌ5+V|G¸-mdúÔ© :#0$tŠ¥U7 Ù6Ö‰“„„>ÿݲ²œîî}ìÅËW¢¢¢Cô×®…¹ ¿‚²²2BèÕ«WìÖ¸»q¶Ö¶0:ÌgÚÎíÞ­Ûå(xè ¿„ð¨pó±æì]]]߉îPlؼõõ›·­­­Ù99.GŽ"„.€a€Î½ˆ~„É'ìsqyÿ!SLLL§¯¶û‘ÃcG‚aÅ¿—ñcÇŒ;Æþ,°ˆYYYYøaàI4ð—Âd2sós³s²ëêë`4º 2¥{·îšêšø7Ä@ ­äæçææåR$)²R²0]ö)ûB¨»fwEh9¹9ò2òrrr?V ‹UQQ‘“›²í¦¾¾^»—¶¸¸8þj6 kÈ¢˜˜XN~ÎT²ü½HHH€&v1‡ÿ°|þÞû4± _\ˆ;"z†F<o‘Ÿèt7ÐUY ZàÞo—EüeÇ2ÒÒôß¼a½¦†ÆoŽÑÚR÷S^NÎÔÄxãúu2ÒÒ<‹ø{óY»z÷¯|ÓÑc±ƒÄø»ÜF II‰[×bBIOŸ†„Ÿñò…B156Z¹l©´”TëDe~üxìä©/^J’%—.Z„½¨ƒ›êšš…K–•”–âÅY,Ö‰Óg.]!–S—/qä©üÚ¾ÉoÚ[ÄÞ u9:R§oß»ötØáÀü lii9tÔ•g&“½yÃúÈè ÜïÅ:W´ÈÁãû÷߿ǑбkW­´´°ÀìáQv¶³c¯\ :ë+,,¼ßåm¯3/¿`Ó?Û'O˜p9*Â÷øñäÔ4Îúù[MŸÆ^üJ̵äÔÔßÓþgN=MI‰¹~£ííþ=tYÄ£ÅöóÞ¾‰Ëé³ç&M³1nü®½ûš¾¼fOÏÐ("*zòô¦Ã­fÏIÏxv9&ÆÂÊzè°ö‹ÊÎÆ²µ¶¶vu;aÒØ “»ºµ¶¶âážž¡÷ñkE0ŠTê?›6%>Nâ™ú(ñ±”eÎliiéGlyh4ÚÁCGFŽ3;aöî-Áv=C£ Ð0ó)ƒ† põIròìyC‡˜8mú…K—Ù^໕»£xÚétzä…‹¶³fa§^nGM%$$äädV®HKÏ|—~%vþþövs&š›III)++íÛµ“g©œÜܤää9³mØ‹_½¹ÜÑQMUUMUu¹£ãµØØ¶· šØád±¦¶Ö?0¨w¯^¡°ð”Ô4ߓǯ]¼H£3|NƳ=xôè”÷Ã;·&Oœ°jíº»÷âOx{Þ¿7jĈý.‡°2·ûúùçäæF…‡†$$&~ÓŽJMK ñ÷Ëxš$ÀÕmÿî^²ha½;~§O=ùR€øÕܸ§?x•ªÀ”’–®£Ó·íU¥¤¥UVVM1Ó|ê´½]êêëyfóò9±tñ""‘ÈnÌÊÎÆÛÒé«ýéë7³fEp#Ç™]¸|åˆË„Pô¥ËÛ¶lRSU•’¢8¯sº}÷¿íÝÛ·i¨«‹‹‹Ï›cÛÐØ¸sÛ?êjjØé‹/G…} IDAT¯âº~#vËÆ JŠŠJŠŠ[7:_½É³]­ ¬¬ü««±ÑPî¤ü‚‚—¯ßLš`Žšhnþòõ›‚ÂB,éÚØ-7(R©˜Kx~vôùÍÚ ‚].++«¬ªRQVÞ½c»#jç»vEX,+8,Ü~îî¤÷™™ÞÇþÙ´±íQ[uuMQQq°ßÙˆà@îéíÃ]$9%µ¦¦fÂøñÅ›šš(d2vL¡P!Zü¹Ñâozý,ù ‹ÅÊ/(عgïÛwïTUT ‹Š¦[ÿ÷"SöO`*(|V ‰„R—ÇO[ZZ¾(W™ššv¬¡¡QZZʳ]­ð“o„œœ¬ÉP£MÖqgˆˆŠ®ªª:l»e½Ó„Pii)»Kx~v„²²Ò7]õ8zäôÙ³'ÏøJIImÙ¸{e6O#ð²Øö¤»ñ÷»ijjuïÎaOMOß³ÿ Ëþ½Ý45ÛÞœ¸¸ø:§Õ²22¡ëœfÏsànÑÓÇg³ó|&àÄÅűçõ ’ßúPú_øÀ½Ó|n‘@ h¨«»ìÛ;oÁ"£¡CU”•Ox{ªª¨|_mT*µ   ‡–B(//OQQ‘çp´·ÁÑVKkë•k×o\¹„WXPXh·`ÑÊåËĈDEEEÜ¥üüüÿv*ùØ9¼åç*ö®+‹•ð(q×Þýwb¯ó3¿ôÎ áþKyëÎ]ïc®‡\újk·«¶Þ={" ;þòN2?f-]¹?:|äÓ„¡ZÝ_¿ycjlŒzóö-6µ€Î·ˆf¿ùÒ»{ÓÆÚjÏþƒYŸ²i4ڇ̛·íhW=“&˜:êVRZZRZzÈÕ [Õ"„ddd²Ø¶Z~°bãâô×eW.5UU]›q·B“&N8ìæ^ZVVZVvØÕý?WùØ9àçê–í;²>}¢Óé!—À§Á#—_¶ˆNLJ"‘Ä Èn =á}üÄq/¾}9ò>RpS&»{ûTUWWUW»yy>Œ»lò£‡ø?„Pò£‡˜}ʤ‰'ÏøŸ<ã;uÊä¶· ëèŽ-âÌ´´ôôñ ð"mؼ¥ °°›¦ÆªåËÛUɒŋܽ¼çØÏG™›w\´³/žïà°Ø±®®‹ûæØØüH+œˆZ¹|)·œò=7mê”% vsŸi;GDDdþ¼yIOŸ~v•~®Ž5jý¦-EEEZZZ.{÷0ß¡‰FÓáØá°¡”ÄìÔ?(xþ<;ŽüÞÇB³æþ÷ÙÕwnIˆ‹sD£<ëœn1µ¸¤dö<{&ƒ9|˜é†µNì•ó¼«qãLKË¢y !„¬,§[ZLåY–__€oÏ eee„Ы/20âîÆÙZÛÂè]˜¸;qcFÂëg»&ñãÍÆš}3[xT¸ùXsv‹®®.‚/ÿ-ÀŸ_D@ÇQF¸²ÜÀ‹pçD‹Ê€,dIrMMŒŒ E£ººš,I†E4´u5õ¬ì¬êêjŠ.¦‰YÙYêjê-@»QUQ% ÂûÌ÷ 0]IIIuUu•ïýúÈ"ðW#$$¤¦¦†]` ²²²²²ð‹€è)L&37?7;'»®¾F£Ë@!Sºw뮩®ùÍ7”€,'¹ù¹¹y¹IЬ”,ŒF—F§}Êþ„ê®ÙdÚGNn޼Œ¼œœÜ„@GƒÅbUTTä俀,@»©¯¯×î¥-..¿£ÓÅdQLL,'?çG*Yþ^$¾õ*Q ÓA ~<ü‡åð÷Þ? ‰]øâþ½Ñ¢ž¡‘à7;ÿ†¶~§@‡ºy€® ,¢ˆøƒ÷Ûeñ7ÇSxsø»äååäLMŒ7®_'#-ͳˆP°ç1Ÿµ«W-°ŸSêoÆtôXì 1þ.·CRRâÖµ„PÒÓ§!áç_¼|E¡PLV.[*-%ÕÆ:B™?;yêÅ‹—’dÉ¥‹M<‰§KÕ55 —,+)-Å‹³X¬§Ï\ºC ,-¦._âÈ­mô àIß[|–üäYò“ðàÀ–––CG]yæa2™QÑ›7¬Œ¾Àd2aNüUÑ"ïß{|ÿG*fÄþ­]µÒÒ³‡GDÙÙÎŽ½r)謯°°ð~—ÿµ½Î¼ü‚MÿlŸv|`pfÌÉÍuÞ²uä83ÓÑc×oÚÒÞšW¤RÿÙ´)ñqÏÔG‰¥¤(sfÛHKK?bËC£Ñ:2rœÙØ “üƒ‚¿i×34 3Ÿb1h¨1“É<}öܤi–#Æßµw_SS–çIròìyC‡˜8mú…K—Ù£]àw*#vGñ´ÓéôÈ mgÍÂN½ÜŽšKHHÈÉÉ:­\‘–ž!ø.ýJìüýííæL47“’’RVVÚ·k'ÏR9¹¹IÉÉsfÛ°¿{s¹££šªªšªêrGÇk±±ÜÛåhbG‘Å3~þ³>…„¼ÏÌôõóÇìçÓÒÓÏœð¹~ébIi)fܸõÛY³n]‰‹¹¢¤Hõô9þ=9ekcƒš=kæùÈHÜîë矓›˜øM;B(5--Äß/ãiRHXxJjšïÉã×.^¤Ñ>§Nc¶ý»{É¢… ÷îø>õüåKF rãfœþàATªwRJZºŽNß¶W•’–VYY5uÆLó©Óöt©«¯ç™ÍËçÄÒÅ‹ˆD"»1+;oK§¯ö§OÙßj«}¾L¯ßˆÝ²qƒ’¢¢’¢âÖÎ×cobö+11ÿlÚ¨¡®.%EÙ´a=fŒ 14"&&F&“׬\ñ(ñq»Ú*++?äêjl4”;)¿ àåë7“&˜#„&š›¿|ý¦ °Kºv#vËÆ ŠT*æ!^„Ÿ!´ÅÙ»g¢/]Þ¶e“šªª”ÅyÓí»Ÿw…D„…ËÊÊ*«ªT”•wïØ.ÀˆíÀí8Ñ"‹Å  ·Ÿ;‡;é}f¦‡÷±6ml{´X]]STTìw6"8F£{zûpINI­©©™0~{öä_))©-7 75åg~,¶=énüýnššZÝ»sØSÓÓ÷ì?è²o7MͶ7'..¾Îiµ¬Œ Bhã:§Ùó¸[ôôñÙ켟d~ܼmÇg}ß¾#ëÓ':Ž"|‰xìǾÿðÁÕc Ë3a´dÑB~ç-ÞÕ„q‚£cqq‰‡×t„“£ƒ£ýØæÛ oÐʵA§ÓBüÖĤD7g7ˆ Â$ÞH4iqInݽeeÞúP[L|Œµ¹5¿EWWÁÿÈà×t¢ c*#ÎlsàÁbÜ9Ù"€2 ‹Ðª,µºººK—. £ªªŠ*K…N4´M ÍìÜìö>vèøš˜›­©¡ Ù"´u5u"½Í|Ë`0 "ƒ¬¬¬¦º¦Z³˜,@:Jd²††ñóv€N4È"È"È"È"È"À¾ tRx<^~a~n^nm]-DCd QiÚݵµ4µÚþjEøD~a~~A>M–¦ §ÑØvNnBH[KdÚG^~žR%EEÅoI+€Ž†ayùy ‹Ðnêêêúöê+-- ÏÑ1Y”””Ì+Ìû' ‹@çEFð«D߉D&“IC _uÿ€&ŠîÙý¦­;u¶8HÏ@ø‹¤‘WF²-Â^ÅAzFà ÷í áok«™¤rÀOæQrrTÌ©ç/2h4š‘¡ÁÜ9³ååäBF£Ìù«=¸•„Ù;ƒOAõ![lòrr1qñî.áÞ:l¶?ÙÍuðÀ ¬ðÇ7l Ü€¯zxûf‹NÙEÞ§ú-¶•5+WxL›a¨¯§£­ÝdÇ‹8r4áì¹:F¹©éßË—IKKÒ3ÀF„ž3Ò3X³rÅÑÈ¥eeZݺ­[õw~aAÄá£>|èÛ·ÿúu¸ç¼üüÝ{÷¥¤>æp¹zzÖ¬Â_ÖñoJJЮМœE%ÅÙÓ§;9:ð·áå«×‹–.óšê1ÙÍ ÕNÛÕÚˆdddÎýËÎщ¨ è6kõöUŸBê‹?i&šF£­[õ÷šõ¾§Éª¨è˜ÔÇiû÷]LH`s¸{„Rø4å_~yºsÿþ½¡wo\ck3oÑ⤛·ÂBwݾžhjb²)`^gÙß«Ü&N¼véBâ…s]UUví݇ÛW¯÷5}Ú½›7Ž„xöâîÜ»7wÑâÕ+Wàš¡Ô´'ýû÷#míFYÛNöœšÇãµjï >Õèt:N¯ø/ÑqÑØ÷cà0}¼´k÷®={›œ]rrsñryE…ý¸&ˆÅ²²2¼Ìd2Ó/+/'õF˜4ßo]]Õ˜±xÙÚÎþdÌ©’÷ï›øŒŽ³m÷"#:—/3þì™­½Ã›·oùÕ55iOÒ§L›±eû޶Ø;ƒOAõ9—/·åˆŽ‹n"}¸þÔï-ÎÿËûá¿ÿ>IÊo,.)qpv¤g0HÏÀÜfô‡¥‚6WVVÆ RRR!e%%b‘ÅbáåŒW¯fÍgba9HÏÀh”yYy9n Ü‘œšê:yн“󽟑Q'ÇÙÑýßÿ ?ê´Ã‹MHKO_±jÍfßîZZüvI åýûmô]ñÒå¶Ø;ƒOAõ;¿ÁØ"Ž„„Äf?ߥ+ÿ>qôaT£ÓÃBw©7{S×רÊÕkçÌœ¸5€F¥ÖÖÕ´°Âíýûõ Þ±ð{÷lðßtãÊ%Ü~8|ÿLï¿ää伦x€LtæEœk7’BB÷ìÜЯoß–GHd ¥ívöÙj}[l+=tt&:9mÝHX\œü6mÉÎÉe³Ùï2³V¬^‹Û»té’“Û^ÿL&SVVVZJª¸¤Äó–/r¹fmvN>²Iâ{4@WUÕÃ$œ=wèè1ˆOõ-[Õ‘kƒN§#„222ø­‰I‰nÎ0- ˆ2‰7ÍFšAD’[woY™[µZ-&>ÆÚܚߢ««‹àÇd‹ðë;ÑÐq”‚g¶9ð`1î€l@EhU–Z]]ÿd%ªªª¨²TèD@»ÑÔÐÌÎÍ®ªª‚Pˆ˜&fçfkjhB¶íF]M„Ho3ß2 ˆ†È ++«©®©ÖìWs ‹Ð†Ž™¬¡¡¡¡¡¡  ²²²²²²²²ø»ƒ¿¥ Ú¿;âß~"¾7ÜvI E]]Ýn´­× áNÒŸ= Ýóòå+EEÅ93gŒw'd_úzÃÂ÷î!ž}Â߀6¶ó—SYùq{PУä”ÚÚZª¬¬š=&òx»BÝ [þÎûKçÎôï×wOØ~üBx—™5û¯y$)!îTôñ£/^¾^?9%õTüéß:è¶^¾šè»vÍÃÛ7ÃBw«ÑÕ¾oðá²€ŽØ‰VVRZ±Ä!t%ñZuM¾ñÈ!ÃË?¿µ¹¬¬|ˆÁp}ã‘Õ55a56®X²DC]]AAaݪ¿…{662 ÝSPXØ|†a§ÏœqvŸd8r”ƒ³KL\<†aüi,ÑÇ;~ =ƒW¯ß „._M¤gpùj"Bèå«×ƒô ì&àõy<^tlÜxWSlj®'cNñx<~Wѱq6cÇ Ö7lÒ’7o32b0<:6®eOMEéöïO¡Pþ׿_ðŽm_qÍ--–Ï^¸`ïä¬7ÂÄeò”ôgψ%œ=7ÞÅUo„Éx·ó/ñoøìù‹i³çŒ0³Ð7é½`Ⴧà>@¿ö© /'g7Ú–Çã]¸|·\¸|™Çã=Z^NîqZBhó¶m†#GYØŽÙ²mG}=Sˆ[¿õk%%%×ùù EwúÿÍ}ûô¹~邵¥EÀö§Îðw3‰dÊØh8Bèñ“'¡ëIIÄÿ´ôt„Ð##¼~tlìÖà ®_º`h ¿mgPÌeîÕ«×§cN¦'ÿG8.\º¼ìïÕ eoH°»ËÄæ‡ G£!„œÝ'­óóO8{®¢²ò+¡¹¥ERRŸËW¾}÷®O¯^à ôBÒmø”È¿J€Édw—‰;wíFMŸ:…Lþ¤ÈC‡ Ùºicø¡C"uUUýkö¬™Ó¼ÚÔ[0`æôiᇾȢ››¢‚bäÉè1ŽN¡!ƒyNžŒ¯š7gö¾ðƒvŽND>kl4<08D\\ÜÆÊ !dkm½=(˜Ífàœ6u †aç.\ŒO8£F§/óYìîâÒjÃôõ†í \¸dÙ†›ªª«ñAI~¨Têî½a•+ÙÊJJ.Îüõ×WBsKq;–Ëá:içèÔ½[7WçgÄÉÑ!8tÏóÆþ¹tÑ"¸O€N‰N§#„222ø­‰I‰nÎnNBfVÖ·IÚÝ»Ÿ‡Ig cmnÍoÑÕÕEðã¿NË’¿|õº±±17//`G B¨I:@'MÆØÚl xû.SRR²¿¾Á;¶ Ÿ E@ı47³47ƒ8@s  ²²²²²²²²²²²БùIŠ`0Éi÷2sßòxܦÂLë¥Ýgèà¡7Êo¿ªÜ<±‡^.pbqY|œþ¨¡¡áÏþ†bbbMVq¹Ü¢ò¯=ɦhv‘Âö\z{l¾¾ ?ƒô š?†ºEc» <ïJVRT4n¸Ìgqyy!¾y÷.xwhúÓgT*u¾÷ÇqöpIt¢ÛDaIž&][]]CMM½ÉŸœýàc9s]ž˜$YLB’ÄþµÁ_»sâ8‹ÅÚ(ìÕ¬yùù }–ÚÛI¼p>òpÄ£äd¸žd±­ˆ‰‰KKÉP(ñÿRÃB‹£2Çë©åU°^׿y÷n¦e¯¯ÞË¿))®SõG˜ØŽsøçÌYÜÈãñÂ=ÎÑÄÂrƒÿFæçwì GUEeÕòå>ª®©1µ²©©©%VU×Ô˜ÙØÖÔÔ†…œæ9ÕÎÖVNަF§oÝ´®'Yl+ IŠ”˜˜ÄÆóï-3e3ÄÅ%Jk¹ó=s¡•ó+¬Æ$?˜2T¿oׯÞËêõ¾³¦O»wóÆ‘ðÏ^¼ÀQÑ1©Ó"öﻘÀæp÷o—Oy99+ óø„ÂrúŸ„166rr´ä”ÔŠÊJ‹Ñv#-¬ÖúúÕÖÖÂõ ‹mEB‚")IÉ.c\<ÝD=üZιԒyá'êõº+­f=JN3Òv˜ö·ìE\L¬¬¬¬òãG5:ÝwíšO*væìê•Ë5ÔÕåähK/¼ž”ÔWeeåÛvî44ÐGMvs?ÍårB\.7îŸIî¡UUEEÅqQ'ÎÄŲÙìA!p=€ð“¦\$$(Šd]“Äm¸ŸÃr®u?#ßÓªÿËܺzÖõ;ÿ.°U6¢ÕzsÅÅ) aa56oò Ü~èÐþƒrrr+—-Áßø\\Râàüå-¦DeAà³.ŠŠ Ãõ –/YŒÒÑÖîÙ£Çõ¤$+«k7’¨F§#„¤¥¥—û,RPP@­\ºt¼+¼+@Û.‹âIIIþ4YRƒŠ,éúëz³þÝÒ‹9,æÕ›ÿYjÍ©}Ó?ZÝ4ß¼}7à]ÂòæÍ[z×OýnüUM†Ý»ÿ`ƒÿ¦W.!„Ôèô°Ð]êjjmlj‹“Úînaám¬¬¢bbÖ¬\ûôî…aŸ*`³¾` IDATƒ‹  Ý( ±KÍ.ݸO£ sÏëYõuWoý{jÝ8#]MŠ„D[ü¸¹LôÛ¼95-Á`0ŒÔÇi~›·¸NtÆ×®\³6;'‡Ãá „HŸ³Bg'¿M[²srÙlö»Ì¬«×~Eû‡Ô1ѱq2Ò2ýúöÅŽööÁ!••++?nß4ÊÄ®'€l±­HJJa!4@G%fí8gÿ³Ýè*¯**|訰ْ’Rmñã2a‚””TPÈ„P÷nݼ¦xØÛÁך™šú,_YRR¢££àï‡Ý]\È$ò’+‹Š‹»ku›çíýu‡àáî¶1`ë¾]_ÇÙ—”Œwuãñ¸#—ù,†ë DNGeddð[“Ýœ¿çHYna6™DVïª)..ŽJÏ*=û sª•®]žÃá(äaøiÄÄÇX›[ó[tuu^¶¨Iïö¡¬äMV†aø^'èÉ0ªr^T!‰ÔENA]EN¨-..¡¡¦¥¡¦ ƒOÐYYYYYYYYYYYèȈC€Î ÇË/ÌÏÍË­­ƒw“‰4*M»»¶–¦V«¯'Y€¦äæçäÓdi r  ‘Íaçäæ „´µ´A }äåç)uQRTTü–´èh`VQQ‘—Ÿ²í¦®®®o¯¾ÒÒÒ$ ¢!J²())™W˜÷-N@΋ŒŒ h¢ˆA"‘Èd2 }Ói…îÐyïÐDÑ=»ß´5ÈâbžA»ì߈#Gçû,ùžç-ò9|ô˜È(cGÀØÜ²IáG8o£]øÆ :Ñ¢ “ÉŒ<y8âG8_æ³hÚlïÉîn’’’-~Çö4)üçm´‹À^G—E"?ê"/?`À+–øhuëöãöõ4å߯ۄh§’¢¢ÑpÃe>‹»ÈË·¸ÉÑÈ»öì]4ž×ŽyYܸykðÀDœ¿âqÞ¼{¼;4ýé3*•:ß{Žã8{„޶¶nÿþ7oß±µ¶¥{éQrrTÌ©ç/2h4š‘¡ÁÜ9³ååäB†……ædtä±{´jG=NK‹:z$=ù‘¦®^ï;kú´{7o ?ðìÅ !F~Ê+*T”•Ûr8òrrVæñ „åô? clläähÉ)©••£íFZX­õõ«­ý"*ÊÊ¥ee"<8›šö¤ÿ~x9;7—(÷ï×7''W¸½-;•_PuäðуáýgØ'95õxÄÁ¨#‡ó òˆúÔs44ˆŠ9UÇ`ÔÖÕˆŽ12láshõz_g§ñçOÇUQVÞÇwµ·èS]ˆŸVio¬¾%†?:N§Ó+þKt\4öý8LŸø3·ST\Œa˜ƒ³KNn.^¡¼¢ÂÆ~Q¹¬¬ /3™ÌÃôËÊˉE½&xyŒÃø¬ìl¼ü.3ÓÎщ؜ׂöÒ¤yM ¥¥e+V¯Y±zMóÊ……¦V6 ,†a ,–©•MaQ¾ÊÎщ¿I„7AöÃô‹‹KZmªµýɘS%ïßó7£E#?zFÆL&³Ç˜“c3v‡ÃÁ0ŒÃáØÚ;—”`6XßpÕº ••+V¯YçëO8¬¯¯'ÎÅoÊåÄËL¤?{fkïðæí[|q°¾amm-^®­­¬o(ÜN0p˜¾ ]Œqp|ùê^~‘ñ’¨9p˜>aÏxùrŒƒ#^ÎÏ/°kßDÖcí ˜B)//·m'ܧ » ?-ÒäÛ«VcØÆý6árâå¶\ÑqÑM¤×ß4ý4å_ à ‹ŠÖùù¿~óF]M­¸¤ÄÁÙåKÖÊ÷,åÏiŽ””BHYI‰Xd±Xx¹¬¬LCC/wëÖ­´´´åjÁ{2;¤¨¨0\ß`ù’ÅÍ+ÄÆŸþøñ£þ~‹Ï¡ÒÒRþ&ÙBtz×V›¸#üСý#äääV.[bld$ÈȲ²riY¹V7Ͷ£Ž¶vÏ=®'%ÙXY]»‘4xÐ@5:!$--½Üg‘‚‚BhåÒ¥ã]Ý'eååmÌF»ùÊÇOžømÚ°É¿»–n‘––fÔ×ãsSu †ìç/ ²·eJ´´¬\SC_‹Ÿ&¢&a囹YZVŽ—ý·ØZYM™< !uÒosÀž &>_½~¶ÿÍÛwx^O&“…ûdâ§Õ0¶7Vm‰áWL7ÿ3ÑDC»ijlô÷ðšn ¯¯F§‡…îRWûÊÙ4•¢¢¢::¡‚‚UUÕÃÑÞ½ŸÅf56ž»xéò¹3„âââÉ^ÓçzÏ‘¤PTUU‰&~Å`oÒZAMí߯oðŽí†Ý»ÿ`ƒÿ¦W. 2ò£û¿þéOŸ¶(‹-£‡»[XøA+«¨˜˜5+WàÆ>½{aØçF„ñ×òôéºÿ=M¼v#)$tÏÎmýúö%Œ=t´_¾zedhˆK~*…ØÛ8~]T\¬£­*,*â_EØ‹Š‹UUT>µçÏ·oÙ$##ƒòô˜<Úa|sŸk6øÍœæ¹u£?•J­««³3V¸OAv!~Z¥½±ú–þ8~ö×¹Õèô!ƒ]¾rÕÅÙÉoÓ–ìœ\6›ý.3kÅêµíò3ÚÆz[`ЇÒÒ¥¥Ûv¶±þ4«Ó¥K6ßðÄ7î¥ Wü¡Ë¯\êêºýû_M¼†mk³=(¸´¬¬´¬lûÎà/M`o‚ ¦®\³6;'‡Ãá „HŸSÈü˜š˜\KjÇ׆Ô1ѱq2Ò2„"8ÚÛ‡TV~¬¬ü¸}gÐ(c~ù051±)—“§bC÷…íÛÒ¿_?~»ÝhÛý#JÞ¿/yÿ~ÿÁˆ±vc„Û…L èÄ ¶ÖVÁ»÷”—————íåŸr!ìÁ»÷ØZ[áö>½{GžŒ®c0êŒãQ'ûöéÝÜ'³)+K•–‘yÿáÖí;Zõ)È.Èÿ¾c{c%$†üûju¿ßwÖå|{‚£ã®½{O;J&‘—¬XYT\Ü]«ÛÆÚÜú?£Oºº~ü'ÂÌðòDè‡(×ÚŽ-À/ëD@ÇQFœÙæÀt¸s²Ee@  TYjuuu—.] "FUUU– hh7ššÙ¹ÙUUU ÓÄìÜlM MȠݨ«©“émæ[ƒÑdee5Õ5ÕÔ¾éa” ‹@'…L&khh?WèD€,€,€,€,€,ü à :@'…ÇãåæçæåÖÖÕB4D•¦Ý][KS«Õ7”€,@Sò óó òi²49ˆ†ÈÀæ°srsBÚZÚ ‹Ð>òòó”º()**~KZt40 «¨¨ÈËÏY€vSWW×·W_iiixŽŽˆÉ¢¤¤d^aÞ·8Y:/2íyý&ð[@"‘Èd2 Áchà«îÐDÑ=»ß´õï-‹?ó=œ‚öõsÚqäè|Ÿ%?Âó¼E>‡ëÌÊØ06·lRøÎÛh¾ñ€Nôo“ÉŒ<y8âG8_æ³hÚlïÉîn’’’-þÚö4)üçm´‹ÀÉíè²8HÏkóOKëðÝyœ’¢¢ÑpÃe>‹»ÈË·¸ÉÑÈ»öì]4ž×xŽoܼ5xà­nݾúqÞ¼{¼;4ýé3*•:ß{Žã8{„޶¶nÿþ7oß±µ¶B›GÉÉQ1§ž¿È ÑhF†sçÌ–—“Ca~ðÌù $ÉÑ~¬÷¬™ø]'ÈŽ2eŽÜJú.m+.. Ýóôùs„Р|ÌWWWûµájñÛ+!1l×9ú¾ˆøØâÓ”Ÿ¦üsâ8‹ÅÚ¸³Å:</6þôŠ%>q§ÿáñxð(nß½kmiñÕˆ“—Ÿ¿Ðg©½Ý˜Ä ç#GËW¶÷Aóª**«–/ððQ‹kï?x('Gswu‘——¿ÏW‡ÍfoÙ¶c¤…•¹Í裑'ZµÒ3ˆ<mmg?XßÇã…:Ùùáß— clo¬„Ä_DYÐ9ú¾c‹¿L9š•y,:òØÛÌ̈#GqûácÇÓž<9¶÷Ò™„¥¥ŸÆ¿þ^å6qâµK/œëªª²kï¾ïØ’Sññn..!׉NÅÅöˆ#GóòóãcNFG»÷àA«v„Ðã´´¨£GÒ“EEǤ>N‹Ø¿ïbB›ÃÝ{ ¯°z½ï¬éÓîݼq$üÀ³/„ù)¯¨PQVn˱ÈËÉYY˜Ç'$–Óÿ$Œ±±‘“£%§¤VTVZŒ¶iaµÖׯ¶ö‹tª(+—–•Á.?©iOú÷³ss‰rÿ~}srr…ÛÛ±QùQG=þðц˜’SSGŒ:r8¯ ÿØçÌÀÈÐ *æTƒQ[Ww":ÆÈ°…®Õë}ÆŸ?w6>VEYyßç«NOAv!~Z¥½±ú–òŸ£ï N§Óéÿ%:.û~ ¦ßÜ8Æa|Vv6^~—™içè„—ÇŽwz—™)Ä[]]Õ˜±B<F¢PZZ¶bõš«×4¯\PXhjeÓÀbaÖÀb™ZÙá«ìø[Hxd8L¿¸¸/;8»ääæâåòŠ ûqxÙÚÎþdÌ©’÷ïùÛТ‘=#c&“ÙÆÌÎɱ;ŽÃá`ÆáplíŠKJ0 ¬o¸jÝ†ŠŠÊŠŠÊ«×¬óõ'Ö××ë0Á:—/3þì™­½Ã›·oñÅÁú†µµµx¹¶¶v°¾¡p;ÁÀaú‚v1ÆÁñå«WxùEÆK¢æÀaú„=ãåË1Žx9?¿Àz¬ýÀaú‡é[µ/((` ¥¼¼Ür´pŸ‚ì‚ü´H“clo¬ZaÏQ.'^nË5ÝDúp=üe3ÑeeeÄk4ºuëVú91üð¡´Ûç¹…/½ÈW¯BB÷¼~óï¶ý×ZxPQQa¸¾Áò%‹›Wˆ?ýñãGý&üŸ… B¥¥¥ü-$*²#„èô®ŸÈKJœ]¾ä䟸#üСý#äääV.[bld$ÈȲ²riY¹V7Ͷ Ž¶vÏ=®'%ÙXY]»‘4xÐ@5:!$--½Üg‘‚‚BhåÒ¥ã]ݾœ‹òò6f£a¾òñ“'~›¶lòﮥ…[¤¥¥õõøtVƒ!ûùKà‚ìm™--+×ÔÐÀ×âg–¨IØ»ij––•ãeÿ-¶VVS&OBEFôÛ°'$¨‰ÏW¯_‡†íóöÞ “ÉÂ} ² ñÓjÛ«¶Ä°-çè÷›‰n•¢¢¢::¡‚‚UUUÜÞµkׂ‚‚^={òW^¹z휙3·ШÔÚºº‘m3>Îjl™ LYYª´ŒÌû¶lßѪOAvA~ø÷%èÛ+!1äßQt޾ï¬ËOÊ›ÜiOSþ5czðîP÷)ž!k+˙ӧ᫼¦x0™Ìé³½™ ÌÙ3fàFßukƒC–¯Z­¢¬ìé1ùzÒÍï3Ù?×{vsE;qxÜX»YÓ¼¶Ops÷ôð ¾Ñ"Èλ‹ ™D^²beQqqw­nó¼½q»™©©Ïò•%%%:::þ~BŒüXš›íÉËÏÔeh1aܰuß®Ââ8ξ¸¤d¼«Çil¼ÌçÓBn^Þ‹Œ—;·tÂl±Éͺ!4qÒ—ï®Þ¹qMFZz‚£cqq‰‡×t„“£ƒ£ýX|CAv„Ð0£OŸ:z#LB©î5ÉR§{yî Ùå6ÅS\\Üc’{rJ*±­þ°¡Ófp8k+Ëé^ž¸ÝoÝÚÀààq&"„øÃoÝZþÆãåõ«Wí ]µn½²’Ò”IîI·n ÷)È.Ä–Ýâ1¶7VBbØ$£ÇË‚ÎÑw¾6èt:B(##ƒßš˜”èæìÓ‘‡CG=IOßüÝ=Ï_ìóçàÁÓ½<;[Ho$š4ƒKK$¹u÷–•yëCm1ñ1ÖæÖÿ°ÒÕEðã¿ß…^žýåúRû›f‹ðS;ÑÐ1•‚g¶9ð`1î€l@EhU–Z]]Ý¥K…ˆQUUE•¥B'Ú¦†fvnv{;t|MÌÎÍÖÔЄlÚºš: ‘Þf¾e0 ‘AVVVS]SMí›F ²tRÈd²††ñóv€N4È"È"È"È"È"À¾ tRx<^~a~n^nm]-DCd QiÚݵµ4µÚþjEøD~a~~A>M–¦ §ÑØvNnBH[KdÚG^~žR%EEÅoI+€Ž†ayùy ‹Ðnêêêúöê+-- ÏÑ1Y”””Ì+Ìû' ‹@çE¦m¯ß~#H$™L&!x -|Õýš(ºg÷›¶îè²ø$ý©µýW¼¢3âÈÑù>K~D“æ-ò9|ô\x"£Œ€èñFGïDïÞ·Ïwí£á†¡Az-¾-¾9L&3òdtäáˆѤe>‹¦Íöžìî&)) ÊÙ"Ð1OnG—E"×SRT4n¸Ìgqyù6nû.3KoØP¼ÜFMDݸykðÀZݺ À·moKÞ¼{¼;4ýé3*•:ß{Žã8{„޶¶nÿþ7oß±µ¶‚ëOÄÈÌÊÚ³ÿÀóç/d©²³§O;f4±ªªºzÚ¬9JKÜJ‚@‰6?©ý4åß§)ÿÆœ8Îb±¶îlû†µµµíÝÝí»w­--¾±%yùù }–ÚÛI¼p>òpÄ£ädb•µ•Å­;wàê±tAaÑòUkÆØØœØ·/åqÿÚCGŽ:9Œƒ®wgèGÿÔ±EU•UË—?xøˆHâ"OF[ÛÙÖ7äñxá‡çhba¹Á#“É$’»AzÄBhÓÖmgÎ_ |ž9w~ÓÖmMv”ñòÕÀÚÒ’êšS+›šš/¿s¨®©1³±­©© ?8Ísª­­œMNߺi#QgÈ A/2^6O‡ßZ=:e²»­µ•œœÞuã†uμüüG))î®. ‹alñO¹àÝLEE…áúË—,&ìtzW¼P\RâàìòE­…þKIQqì˜Ñ"-]´PIQ±yeeåÒ²r­nšmi‰Ž¶vÏ=®'%ÙXY]»‘4xÐ@5:!$--½Üg‘‚‚.ßã]ݾ¨jyy³Q ƒË"ÿ¢´´ôâ…óºtA-[¼ÐÕc*^a×Þ½+–.!®I˜¿þíÎl•EAùÑz5:=,t—zÛÞ×õæÝ»3çÎïØ°=p”©isùÓý_ÿô§O[”Å[âáî~ÐÆÊ**&fÍʸ±Oï^DÒ‰¡ÿ¤ŸOž>ýC÷pñ‰ØÓ»gO¢ŸÁßßÈÌÊž=w>±¨o<2ùL¸A'úÇãâìä·iKvN.›Í~—™µbõZA5™Læšõ6ù›µvÕÊå«V³X¬&uLML®%µã[à êŒèØÛbDÔIDAT8i™~}ûâFG{ûÀàÊÊ••·ï ebLÔ¿v#ÉÔĤI üîh{»1Á¡{?VU}¬ª Ú½ÛÄxħNôý»ÄB(åþ]襊v?º£|ÛÝÅ…L"/Y±²¨¸¸»V·yÞÞ‚jnÞ¶ÝÝÕeè!¸üånÙ¶Ýoý:þ:–æf;‚Còòó»kiµ±în¶îÛõeÑqœ}qIÉxW7;ÒØx™Ï§¾n^Þ‹Œ—;·€¬ˆ€&ò[ìǾÿðÁÕc Ë3a´dÑÂï.èD‹þµA§ÓBüÖĤD7g·ßúÀ=ö$=}OHðw÷<±ÏŸƒO÷ò„«ç·&ñF¢ÙH3ˆƒHrëî-+óÖmcmnÍoÑÕÕE"ü^žýåúR t„l:V'~‰2BàÌ6,À-(#²M ÊR«««»té¡1ªªª¨²TèD@»ÑÔÐÌÎÍ®ªª‚Pˆ˜&fçfkjhB¶íF]M„Ho3ß2 ˆ†È ++«©®©Ö¶ßË,À;Jd²†††††„€N4È"È"È"È"È"È"È"È"È"È"È"È"È"È"È"€ˆ¡€Ÿ ÇË/ÌÏÍË­­«…h|_hTšvwm-M-2ùës>EøÙäæ×ÔÖêJR$!ß—VÃÛÌ·ù…ùÚZÚ ‹ðÛ—Ÿ§?TŸL"³X,ˆÆ÷EŒ,Ö§gŸäÇÉ ‹ð;QWWG¡P!ß.—K¡Pêêê¾Å È"ü0 ƒ tL@à×h"Èâ‹-‰DY€ß ü¦Y„l€V²EƒñoÊÃÌÌw§í®ÄÄÄz÷îc 7\VVû]>o@ £Èâ£ä*ʪf–âââ! CaŸ _î÷&r8œçÏŸ>J~`>Ê h©NtVV¦¥¹Uc#«¡‰«!†axEì?|YD‘ÉäE>`fjñ ii}çzbGѯm È"t”l‘Ãላ‹740çΟËoß³{BüéF,bÆãñÄÅŹ\îw¬ì8#ž_ÝèD€èÈ"?±1ñxÁÅÍ™D"YÙïœK@qtÂÏŸŽÃšô±~èðìÓÝ&:‹¼,B'~¿N´ YİO#‰×’.ó×§P$ø;à|‹ˆ?s¢gÏ_X4Þ©¸x— NBT²EEèhÙâ'ûÁðCüBJ£R‰…E> uºÑñòÒåK·µ*’“åh4Gû±WÿMI1ÐÓ#ºí{÷‡'ݾ-..æ2Á !TSS3uƬã‡#ˆ=ÖÖÖzΚs,"¼ºº:âÈÑ'OŸq¹Ü?^ºx¡¼œBÈÜvŒÏ‚ù'OÅ~¬ªêÕ£ÇÒÅ‹t´»#„¸\îñ¨“W¯_¯¯¯÷pwÇýcsêÒ•« c„Ñð…sÿ’’’j±%¿PáÁbðËd± Ÿ³ElÏî½,6†ÿ…í #‘*‹ÿá‰^lL<þGä‚|✽pÑÉÑÃáŒ7îÌù „ýDtLQqññCíKN}Œ¢Ñhf¦¦.]&ê\¸tÙÚ‚F¥únÚ2ÁÑñLlLBlŒªªJÄá#D³S§í º|6a¸¡Aph(nŽ{ž‘´3.êDEEnŒÿ'áé³ç¡A;c£"y<Þáã‘‚Z‚} ‹ :²H¬¢Reñ¿&‹xkI—ñ¿Ïýha²X\RòæÍÛQ#M0 351~óæmIÉ{|Õõ›7ÎûKŽF“—“[<BˆÇãMïpîÂE‡ƒa‡Ã9é²³“#Ç;>à] ÃÄÈä™Ó¼’?&š½lñ"E Ã&Npz—™…Û¯^»î³`¾²’…B™ÿ—7n¼xåªÏÂŠŠ  eîìYwïßÔ’_(‹Ð‰€Õ‰þÔ¤}V@ Ã"‹¸6éb ï<ž¿x©ªºÚÆÞ°œ»tiÖ4/„Pyy…²’ÇC©ª¨àNÔètmí;÷îirûÞ½èâ’÷ìù‹ƒGŽdfeãb “ÉÄ©TY܉™Ìb±p{Yy¹ªŠ n'ž‹ñ¡´ÔcÚô/y‰„Wn±%0¶!S.<¯™,¢ù ¿|_gþÂù¡»öâ‹>‹|„ÏD766&^¿u‚NïŠ[JÞ¿Ÿ=wþÔIî EEY¹¨¸¤»V7„PaQ¡×ÎNއ751>sö¼Ï¸ZmÞ¶ÝkŠÇ£áTYÙ:ÃÎщØ#^¡‰0©ª¨jwï磌ªêέDcBL&!ÔbK¾Z¿q&:ÑÐ:ÑD™J“Åÿp;ÿ`"BˆXË/C-ú¼yçÎÿú÷“——«ÿLyù~}ûܺsÃ0Ks³ýeååeååaá„“ÁÖ×3Ïž¿ -#­Ý] 76°¤¤$†åäænÝÈŸó¶x£m¬öî/.)©­­ ;ìívìxýæmMMMÆËWk}ýp» –`f=v\«eèD€Èv¢ a‘¤Pø%ÿû:öe-ž}bÔRúòtÏ©üÙ†aövvÇ£¢,ÍÍÜ]&î;ppÎü…âbb®ÓÒÓq'g¢ÓøÀ]Û7oâr¹ø†+—.Ù¶ß¿$@QQÑu¢óÝû%ªø¢óøñõ̆e«V74°¦NrÇãìì"ùo xÿღ†ú /OÜ.¨%Íý *ÇN4‰N§#„222ø­‰I‰nÎnpíÀ ñF¢ÞŸzx瑟Ȩ£Í™_]]M"áóË$¼°Èg!µÝ!¡ÿŸArr´}û÷L™ìÕ|_RRRl6›6111 ‰††„…BÁ‚Íf³%$$êëë?eLââ …ÅbÛŠ‰‰Q(|€ÍfS(¼²ŒŒ ±U“E qqq‰Äf³Ùl6áYBB÷ÓØØHøÔ~‡‚ÊüHKK§¤¥X[X·z"bâc¬ÍÿSMWW²Eø5cˆMø¬;< û4»‚a($hß÷pP“D"IHPeIÍÅO‰‡ô°X,âÝ ü ç²æ[áðƒÁà¯Æ¿ØØØØü!äÍ= o ¿CAå&±…N4ü–²ØâÝ󯯬®®Þ®·Öq¹Üêêêï""[øñüfš‰&“ÉuuuEEEøsZœŠinSQQƒçÚ6ɦAà·ïDkjv+(È×ÐÐä×Í&ßônÑRXT   Èf³ñ±9ˆ-È"ü–MsYìßW÷ñ“”Ûwo¶+ß!“ÉRRÒ½{öåÿ~u'-t¢à÷ëD·˜-ÊËËê}øðALL¬Ã‹<Á`()))))!x? d‹ bÙ"BHZZZ[[û«}B`Œ-€ˆÉ"²ª,µ¾¾^\\”ñ»C"‘X,U–ú-Nà7Ñð³ÑÔЬ®­nþ=gàÛáp8U5Ušš-Àš: ‘ ‹ ýNøjdee5Õ5ÕÔÔ@àw‚L&khhhhh@(:è ‚€,€,€,€,€,€,€,€,€,€,€,t`>*"&>¢Èâ'¬Í­!4@'YYYYYYYYYYYYYYYÄ!Àï†aïKß¿ÿð¾žYÑ@ÉHËлÒéªt‰±úêX,¿1ïKß7² ¤$¥ ¡VÛwoÞ—¾W몱úêX,¿1J? ×.Fc±X „Y¬o¯¾“6¿Õ!VmU+²Ø9ïV³k ƒÀd2)Jcc#„‡ËåR(&“ ±ú–Xµ"‹3ñn5»:†A Vßq褴+»:Ô}·z“€êå@¬Ú+a²ˆ'Þm0‚ÇãIJJ É®~M·ëVÇ0ì]Ö›ŠÊ²ת(«öÔé#’ƒ'_+È!ñD?[Ä0,+ç­”””¥™mséÃ0ìåëŒÌì7¿µ2 ‰d‹íR6q!Ÿ03”³kàw”E òrÞIIIõïû?£ŽÃa7½ ÄÅû÷Õ}õ6#3ûmOÞ¿éèމ„«GÄ:††åäeš˜u …"EWV›9}ö¡#i4Zs'Ïž¿Ø¸~¤¤$—Ë‘––6516eŠÿÒ¦y¬È$ÒÔ³ŽŽ }N?kkk=gÍ9N••“w›“…oÉk¡æÆE æ]M¼žtë6ÇKºuëêµë‹ÌÃ+§>yr$|ÿñC ‹NDÇàõ#OFçååÚ¿ïÐþ}Ù99‘'£ çÏž??¶÷^Òõû7o „îß¼qÿæ Þ÷dñ÷’Eá „ðó‰a˜†q9Îç!E.—ËårqYÄÇ0 Ã8\.—Çc³Ùͽ=IO73Éápðë„Ëå666â«|7m™àèx&6&!6FUU%âð¢)Óö„]>›0ÜÐ 84·GÇÆ=ÏÈ Úu¢¢¢7Æÿ“ðôÙóР±Q‘<ïðñH¾£ÀÚx¼_«÷ïKNÆDÆÆEŸŠ;}<*úxô©Æ&&*ʪy…Ù•UåR’Òâd±‚’\7vì¸Çi)-z2xÐÖÀÏ^¼h`±x<‡Ãa±X‚bE£ÑÌLM/\ºLl~áÒek •*(&ßÎWŽ-~…FXŒ¶ã_¼~éÂ0ÿõk½,z—•uûÎÝý¡»ˆiœEóæÊÑh¡sÿZµ~ý”Iî¡7omÝäÒ.ž?oÕú ž“ñú çÍ¥Q©Äw­З®;á,“hg‹†ñxž ñxèü^c‹lÇárH$“ÍÆÇùÁ?em‘H$.—ÃæpØ-Œ-zzL:sîüé3gËÊÊ_¿yë¿e+¾ªÕ %%‰0,'7wëŽ@þ­Å{d´ÕÞýáÅ%%µµµa#p£ƒ½]Àޝ߼­©©Éxùj­¯ßÏ[”’’²0·¾y+éí»·cFÛ?xø K*•z <,-í *Ïã`.·–Qcmecl2‚®ªVXT@§Ó[ô¶ìïÕ·ïÞ­üø‘Íæ‡ŒøÇÂc5xàÀúzæÙó¤e¤µ»k †aÖcǵZþÎc‹x:Ö^°çÈ¿xùlBhØ ŽŽýúôáp8C‡ )(,ÚvÀgá|„а?‡Ì[¼„ÃåZŒ2u›èŒïËÝebÄ‘£ –,E™™Ž$ìM>‘&»¹.Y±²ŽÁ¸|6¡ÅÄXP²ÅNÕ‰f³Ùl6‰Dê°)×oS7KRÀæHI©ÿ½œDc5²ZÌUUTB·‡:ÓÀbõÔÑqwuÁ«­\ºdOØ~ÿ’EEE׉Îwï?ÔÿÅǯg6,[µº¡5u’;ngg‡ÉKÀû45ÔgxyþÌN4BHŽ&7ÑÙ /w˜ð)}æro$%æååjiiIIÉà?TVTe³Ù—._;f\‹ž½¦zœ>sv×Þ°ÆÆFEC}½Õ+– ‡Ã™è4>0d×öÍ›¸\.îGHL¾å–^D§ÓBMV¤>IýsПͿp#|<µIŸZRR’Ëår8Ü"!!A&“Y,–Ýø ‰Îá_¾ár¹üßp¤P(ø—u81ì"++ËßC— ‘H„‘¿‚ r[’’J{š6lÈ0ÐŽLê“T½?õZíO½y÷!4dПU5ÕÅ'¢ 7mîÆl 4«†k¢ÊrWY*íî½; ɑƣZè^‘Ébbbø'(›ÍÆo`111 …‚wWÙl6…B©¯¯GÉÈÈàþE qqq‰Dt6Bâââø…aXcc#AHKK§¤¥4¿tÛ+!°X —¯^TUVíÝ·¯V7-q1ñ‚ÂüI7ŒLºv¥·¸‰˜˜˜¸¸øÿÛ;¿Ö¦¡0ŒŸ&iNNSíZÛ nÃ1”1†ûç˜ÞÉ»Ð2?„ ø?‰ûâ…k«SÂpL"â…NƼ['‹MâÅ™¥tI–®&Íó»JKè““'ïyΛ” ÅWíkW'­øÏçîªÙ¢“& ²8m7«U.—kó’ Ph0ÖúGëºnûÄàƒƒƒ£}à ;?úÝú8m·:ÿàe6380´õáíÚëµK£cgo.†ñíÁÃó¿‘ù7!_¥ûîíD>O)+ TVf¦gmwÎÛzlCÌÚµŸÇj¶i{ýKÛñ_o‘­ ­hå‚,Óùk Ûß··¶Þ—J…x<žNeæeYvÚmƒ ^´rúù¶o6Èâ´}­Ú?‰nÖ€üy²Áq‚b‹^ÖÐÅÜæ»Wk/ÇÇÆSKyÃ4¾Ü»!„ðNBAè¾s+¹tƒRZ,Ê®ÌÌ1ev·Å¶(J}½ý}½ýq²œÐÛ"¥ …'÷÷÷ý©ªEÿÓÔ]Xù‘7ë«/žONLu篟Y\°,³>}EIŠÊÅbR67{•³O«Å•èPqÂ{¢O»Z,—ËA¼Œ€`M¢k³¶ ƒ›ëÏVK—§¦)ULÓ4-Ó2-Ë2yö½òtE’¢c“Õj•GÛTáö­¶U‹xÞ"ðù‘òr°*•Цiš¦eÒç>}þ¸¼üˆ·+ò›þ,Ó2LÃ2­t*ÞÛÛÓu1‹Å:iè¢Zlê4w´E5¦V*I’B¥f$Ñ4M©7þ?R+ Ƙü—‘áQžßó6oBˆ |¡3RJcŒ1Qƒ8ìòŸ°NÐ1Zc‹ÙLv÷ÇnW¼K–åðˆ¥ëzùg9ëÐs‚X-rïSUõhY‡ÍP-žzµ˜L$‰Evvwšj] :Š¢ôdz’‰¤m¨-âT‡Ví±EÃ0R©T6›!T¥uµZµm’¾"œ!{ªà”ÿ@+ïZc‹Ä¹‹€ÿN8C\òhå]«ãmßÎÇ—üZy× ¶L8C\òhå]+Ø"6y Õ)«À¶°E€-@ËþiT‹`ÃUÝÛËÖA—'IEND®B`‚danfruehauf-NetworkManager-ssh-f65d65d/intltool-extract.in000066400000000000000000000000001507335542500240070ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/intltool-merge.in000066400000000000000000000000001507335542500234340ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/intltool-update.in000066400000000000000000000000001507335542500236170ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/m4/000077500000000000000000000000001507335542500204755ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/m4/.gitignore000066400000000000000000000001131507335542500224600ustar00rootroot00000000000000libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 intltool.m4 danfruehauf-NetworkManager-ssh-f65d65d/m4/compiler_warnings.m4000066400000000000000000000017631507335542500244700ustar00rootroot00000000000000AC_DEFUN([NM_COMPILER_WARNINGS], [AC_ARG_ENABLE(more-warnings, AS_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]), set_more_warnings="$enableval",set_more_warnings=no) AC_MSG_CHECKING(for more warnings, including -Werror) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) CFLAGS="-Wall -Werror -std=gnu89 $CFLAGS" for option in -Wshadow -Wmissing-declarations -Wmissing-prototypes \ -Wdeclaration-after-statement -Wstrict-prototypes \ -Wfloat-equal -Wno-unused-parameter -Wno-sign-compare \ -fno-strict-aliasing -Wno-unused-but-set-variable \ -Wno-deprecated-declarations; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option else AC_MSG_RESULT(no) fi ]) danfruehauf-NetworkManager-ssh-f65d65d/metainfo/000077500000000000000000000000001507335542500217575ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/metainfo/network-manager-ssh.metainfo.xml.in000066400000000000000000000031471507335542500306100ustar00rootroot00000000000000 network-manager-ssh GPL-2.0+ CC0-1.0 nm-connection-editor.desktop gnome-control-center.desktop <_name>SSH VPN Tunnel <_summary>SSH VPN integration for NetworkManager network manager NetworkManager connection VPN SSH <_p>Support for tunnelling IP traffic via SSH connections. <_p>This is useful to establish a VPN using tunnel capabilities of OpenSSH. https://raw.githubusercontent.com/danfruehauf/NetworkManager-ssh/master/appdata/ssh.png <_caption>The advanced options dialog https://raw.githubusercontent.com/danfruehauf/NetworkManager-ssh/master/appdata/ssh-advanced.png https://github.com/danfruehauf/NetworkManager-ssh https://github.com/danfruehauf/NetworkManager-ssh/issues malkodan@gmail.com NetworkManager-ssh <_developer_name>Dan Fruehauf danfruehauf-NetworkManager-ssh-f65d65d/metainfo/ssh-advanced.png000066400000000000000000001010641507335542500250270ustar00rootroot00000000000000‰PNG  IHDR Âc­ÈsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwxUÛÇñ漣@BH¤Ñk½÷&¢ vÁÞ}¬ˆ½óX@šR„ׂ屠 té- ½ )”D„ô¶Ù}ÿ¬R6!Ùù}®k/㜙sî9;»Ì½çÌŒ8¼ÿþû?üð5jÔèh0œ """"""ea6›1›Í¹ÙÙÙ;fΜyÏ‹/¾ .dΉ‰‰/{{{¿l41™L˜L¦* XDDDDDª7;;;ìììppp ))é ??¿÷€à˜˜øš§§ç˹¹¹U§ˆˆˆˆˆü‹ 9sæÌë~~~ïØôÑG!}ûöý677Wó­DDDDD¤ÂåççãææÖÇÍÍm‘!--mÁ`èWÕA‰ˆˆˆˆÈ¿›Ùl^mÈÊÊJËÏϯUÕÁˆˆˆˆˆÈ¿›½½}ªÙlv­ê@DDDDDäßÏl6ײ3™LvUˆˆˆˆˆˆüû™L&;%"""""b3J@DDDDDÄf”€ˆˆˆˆˆˆÍ(›Q""˜Íf~]ºŒ >Ä€aÃ8|·Ý=ž)Ó¦“››kõ:=ûäö{&\VÿŽˆº÷íϧsç•Ë+VÒ½oî¾÷þR×ݹk·Õõ^¬?'7—y ¾àþGeÀ°áÜv÷xÞ™ü>‰ÿ]¦öþ>uŠƒýEff¦eYVV6·ß3¦~\®}‘²Q"",þî{ÞûàCŽÆÄLófMIMMeïþý899Y½NEX¹z G¢£‰‹«°z««sçÎqßC³`á"Ž?AÓ&MHKKcépÇø{‰ˆÜiu]ßýïGî}ðaöÍ–­ÛÈÍÍÅÓÓ³Ðö·Ý=žØ¸8–üð=ÞÞ^–e‰ÿͲŸä?ÿº ˆŠ>Š[­ZôéÕ“G~g''rrsé7x(ƒ )é4>ŒkMWn¼þzÆßu'ƒÌ¬,fÏûŒÍ[¶ræìYêúø0°?K’”’’ÂÇ3f±uÇèÚ©>üµÝÝ­ŠÿRg““ùué2ùûóä£`oo€Á``ìÍ7±{Ïþ\¿uë7Чw/ú ÊAƒˆ'&.ŽÆüyè¾ûèÒ¹ÿyþ¶mßÀ“Ï<@÷n]yç×rýH:vèÀô)ÚÏsçÎÌC÷ßKh»vVõÓO¿,áû"!1ooZ¶hÎk/M²¼""ÕA`@{öîãñ§ŸaÆ”0 <ñÌs‰Š¢q£Få®WS°DD€ýúa4™ðÀC¼ôÚëlݾüüü2¯×¼òÆ[…^_,úÒª8V®^CÍš5 m×–>½zrâäIýõPp ÊÄW^eÉoKiÕ²·ß:Žúõý.‰±/[·o ñ￉‹£{×®Ô¨QGGG:……ñèCÄ?ýÌ×ß,¾,†œÜ\†L^nŸ-ø‚a6›yéµ×ùáÇŸhذ÷OOÏÝ-×S˜L&ž™8‰?ׯgЀþtíÜ™eËWðîß·:þK‰Ál6Ó­KgKòQÔþÆÄÆZ–mÚ²…V­Zrë˜[8•”Äs“^âHt4£o¸°¡Ütã <ý䌺þúËê¼x?›7kÊ­cÇpüÄq{êiýu¸Ô~:|äLý˜ìœlÆÜ4šÖ­ZR«f-%"RíLýà¿4lPŸè£1<þô3<þô3‰ŠÂÏ×—)ïO.w½Æßu'_û-k×­gíºõ4¨_Ÿž}šŽ:X½@ff&«×®-s I§O³kÏ€££#ýúôáÛþÇÊÕkhѼ9""r'½ztçÝ7ß U‹lÚ¼ÅRÇ€~ýøü‹…lÙ¶DZõü/þNÔÇÜ4(HzõèηŒe÷¾}…âhݪsfN ~}?f~:›}`gg`ÛötìЩïÿ÷²ê]»÷pààAFÝ0’§ŸxܲO6m&5-cÇŽ—ÿ¥ .2¿0ô©ºuëp*)ɲ¬Ip°¥ý.:ñÐãOðÝ÷ÿ㥉ϳkÏ""wÒ»WO:……¸_ìÐ_±mûºuéÂ[¯½ŠÁ` Ch{}ò?,üò+^å¥û)0 €–Í›sÿ„ñ88èŸZ©žêúø0óã©<öÔˆ>€o½zLŸò!~¾¾å®Wߊ""L¥º÷ž»¹mìÖmØÈOK~eï¾}Ãî={1Ø|eÛÛ•üÕÝ¿o_233Ùµg;Â#èÞµ ...‰ŽæÕ7ß&7/—_|Ù3¦—Ó…p³ÙlYvñßsw+¸ÎãæQ72ëã©…^üZÿÅ‚Î&¬ß¸‰¬¬¬ËÊ7lÚ@Hpp‰û“cu›œß¿K“,ƒ.Ÿvñºf³~6;o»S¾‰ÿûêkn»{<)©©ÖÇ "r8sö,žýhܨ5âØñã<þô3Wt% ""ŒPd^r‚{ajN­Zµ¬^§¼Nœ<ÉÁC‡1l(›ÿ\cy]IY¹z5Açeع«Äº èÀÜÏç“™•Eÿ¾}Ø¿ÿf³™Ç1dà@ZµlQ¦ƒƒøsýL&Óeå¦LH ´}»B/WWW«ã¿˜··Câlr2o½7¹PòÇŠ•,_¹Šà zvïVäö{öíÃh4ÒÈßø'ùÉÈÈ,rý‹÷sëöí–dkÿƒdeeTjÌ&“‰5œyøûYò¿ï>t§’’Êt»`‘«Á3/¼Hl\5bæÇS˜ùñ7jD\|½zZ@@ãÆ¬ùsO=þaBYó矼ö–Í›6ec×O4lЀ&!!ìÛg''ºw-89oР>¿.]FMWWvîÞ]¦›7mJ÷n]Ù¼e+O<ó,]:u"99£ÑÈÓO>ApP =»wgãæÍ<ûâ$ÚµiÃÙ³gñóócÌM£iѼ¹Uñ_êÑàÀÁCü¹~Ûv„ÌéÓ§IHLÄÃÉÏ>ƒ½½=ÆóSÊ¢ŽFóù ©éêÊWß~À­cnþ™ª5{ÞgDEGcîºý¶ÂûÙ¬;udÓæ-¼öÖÛðã/K°³³ãž;ï(5ÞÍ[·2ùƒëJ}??vïÙ €Ÿ_ùçK‹ˆT…ÃGŽÐ$$„)ïOÆëü] g~<…§ŸŸÈ‘¨¨r׫¹æ9:80áî» hLl|;wâäèÄÍ£G1kÚTjÕªeÕ:WbÕšµ¸¸Ô cǰËÊôëKjZá‘L~ëMFÝ0’½ûöóåâÅøøxãY§ÎeÛ <Ñy×.],Ï·èØ¡”ÔTf~:›¬¬l[EƒÁÀ[¯¾ÂØ›o"!!‘ù_,dãæ-¸¿Å.À¯¼Ì˜›FÏ‚EÿÇ®={HII±lomüóòòbÁÜÙÜqë87ò'*:WWn¼~_.øœ–- äØÛ;ðçúõÌ[°€ºÞÞ|ðî;´mÓ€!ƒ1h@Î;ÇOK–päH”eÊÕÅûùî›opÓ7°oÿ¾Zü-þ ðéŒi„—>R£F ØÁwÿû—¼òâDZ4kfE/‹ˆ\=6ÿ¹†…ŸÍµ$^žž,üln¹Ÿ`HOO/z2¯ˆˆH5ráù?ÏCDD®>›Q""""""6£DDDDDDlF×€ˆˆˆˆˆˆÍhDDDDDDlF ˆˆˆˆˆˆØŒ±% """""b3J@DDDDDÄfL&SUÇ """""ׇÌÌ̪ŽADDDDD®ii)Uƒˆˆˆˆˆ\#Ö¯ÿ³ªc‘k„!11AOB›Ð]°DDDDDÄf”€ˆˆˆˆˆˆÍ(›Q""""""6£DDDDDDlF ˆˆˆˆˆˆØŒCI…K—.±U"""""ò/qÝu#‹-+1 «Ð`DDDDDäßkçΈË5KDDDDDlF ˆˆˆˆˆˆØŒ±™R¯)«´´tœ8GvN6Íš6%..¾Bþ>~ü™„“Xitæ iiiWüw­Z5±³Sž'""""`HLL0W¸té’2_„¾wÿ‚puu½Òت½¼<#9Bë–-ª:›Ø¹3¢Ä»`UèOóf³™º>>J>ÎsttÀh4Vu"""""W M@ ùùùYeµ×¾m›ªADDDDäªQá'œJJªè*«µ]{öVu"""""W O@êûùVt•"""""ò/Qá ˆÑ¨)XÓ,‘h V%Ó,‘Tøs@¬‚e2™X¿q3;""‰;vÌ&êÖ­K×ÎéÙ­ëU}'­<£‘ûy‚ À^}ñùªGDDDD¤Ú¨ðÄš)X¹¹¹L™1‹CÁÑÑ‘ÆþþØÛÛü8_ûNŽNôíݳ¢C«š‚%""""ò O@N%%•: òËÒß9ô×Ú´jÅýãïÂÝÝ (Yغ}Ý:wªè°ªÌ®={•„ˆˆˆˆˆœgó)X™™™ü¾|%µk׿Ñï¥F–2GzuïVhýôôt¾þööì?€ƒƒ=mZ¶dì-£©U³¦e*T·.HN>G\|<Î5jЯw/F^7 ƒÁ`Õö]:…‘ð7‰§NÚŽïϲå+‰Ø¹‹cÇOPÓÕ•°ÐvŒ½å&*¼ËDDDDD®6¿ Ö‰“ ˜L&:wìP(ù(ŠÉdbÊŒOØI×ÎiÓª%·låó/ZoëöpróòèÞµ+Æ<#?-ù˜Ø8«·ßµg¾¾¾4 ÂÕ¥àÚZµhÎØ›GѰAV­]Çï¬(shôCDDDDä6Ÿ‚•xê>Þ^–eSg~Âî=û,ÿß$$˜—ž†¿Gq4&–þ}{sǸ1$ŸKaçgdâìì@Hp/=ÿ ÞÞ^|ûÃD=JNN®UÛ7 æ‘&Šsð€~@AÚ®O¿0‰ÃÑÑeîMÁù‡Í§`Õñ¨@Òé3–eM‚ƒqtpÀl6±s·eùÉÄÖü¹ž5®/TÏéÓ§iРþeõ7¨ï@zzF¹¶¿`{x8¿-[Áñ“'1™Ldff•¸o"""""R2›ßË¿aÁIxÄNF]®®®Œ6øçö¶ÔªY €ýúбC‡BõøÖ«[dýCÁÍfs¹¶ˆ?~œOç-À·^=î>^^¼óþG%îWq4ú!""""ò›OÁªíîNß^=ùsÃFfÎþŒûÆß…gLù…“— £I§OÓ¼Y“ËêÊ3KŒ¥¼Û=‹Ùl¦WntïÒÙ2r)c)탦`‰ˆˆˆˆ\¬JD8öæQÄ;ÆC‡xáå×hØ >µÝ‰‹?€“£# Ô§}Û¶ìÚ³‡©3?¡iH))©x{{Y®Ñ(Iy·÷ññ`æ͸º¸pèðáBåöö¸»»‘ø7K_Nÿ¾½qqq)5‘kÍï‚àââÂ+Ÿã¶±7@RÒiŽDEãáQ›Ñ7\Ï¿)33GGGÌf³ÕÛ˜Íf®‰‡wÍš3—§ŸŸXÕaX­ºÅ[®–>8|äÞÞ^ 2˜FŒÀÎÎŽ?V®Äd2YU.Ö‰‹?F\ü±ªCDDä_Ã&X˜L&Ìfs™^×ÊI’1/“)¿ªÃ°Zu‹·2\-}нkW:´o—§'uêxзw/’“Ï‘|îœUå""""U¡Ò§`eý¨Hë6l`Ö§sˆ‰‹£vmwn3† ÷Ü @FF“?üˆ›7ã`ïÀ°!ƒyü‘‡qtt,².“ÉÄ‚EÿÇoË~çï¿ÿ¦Y³¦|8ù=¼<= íÒùsfÚ¾á‘<üÄ“ìØ´¡Ä8}ò?lܼ€Ð.Ý ¶Ý¼c~>3?Íê5kIMK£u«–L|ö7 [Ÿ¾Ü:f Ë–/'--ÁлgOæ/\HTt4MCšðî[oР~ý"÷%//Ÿ|ÊŠÕ«IMM£q#ââ±ìçñðð`þÂE,_¹Š˜ØXêxxpÛ¸±Ü}ÇíÅÆ›]l_Î_¸ˆu6²ð³¹–öï{øœødúÇ@ÁñqÝ£yô¡¸nذbÛÿü‹…¬Xµšo¿\d©ë¯Ã‡ÿƒ¬]¹g'§ËöµS^Ü4êFV®^C^n.a:0éùçðññ '7·Ä¾îܳ7wÞv+¿-û̬L|¼}ˆ>z´Pl\»š±·ßÉíãÆrëØ1ÅŽ•Î`0`ggG^n^¹ÊEDDDlÁF ˆíG3²³³yvâ$žzü1† ȹsçÈË3ZÊ_zíuL&3?.þ†<£‘ûzooî¼ý¶"ë›2};Â#xëµWhä߈£1Gñ¬SçŠâ˜5m*ÓfÎ"&6–?üÀ²Í›ï¾Çƒ™1õ#¼<=™9{÷Üÿ Ë~þ WWŒÆ|òóóY0wé錽ãNŽáÕI“ð­W—}œYŸÎáÝ·Þ(2¦÷§Leÿƒ|:}žžž¬^³–7Þy×RÞ«Gz÷ì›·leâ˯еKçbã-©/ûöîÅŒO>%%5•Úîîddf²gÏ^0ÈÉÍÅÙɉ¸øxéѽ{‰í<ˆé³>!þØ1ùû°bÕjúõíSdò`4©ëãÃOß.&éto¾;™‡‚ï¿þ;;;Þýïû%öµÙl“ùsg“œœLëV­.ë“ÉDûvmñ÷oXêñP™ŽŸ8££ÞÞ^å*±MÁ2—ëu%²²²ÈÍÍÅ¿A¼½¼ ¦Eófü}êk×­ç©Ç¥N:ÔõñaðÀ¬Û¸±ÈºÒÒÒXüÝ÷¼õÚ«´nÕ ww7Ú·k‡Á`¸¢8Š’œœÌ’ß–òò‹  ÂÃÉÏ>ƒƒƒ=¬XaY¯WøùúÒ$$˜–-šÖ!”&!Á¸¹¹Ñ·OoG)²þÔÔ4~üù^yq"Ôvw§cXX¡uš„Lmww† ŒŸ¯/ÑÑG‹¬¯´¾  ¾Ÿ[¶n`Ûöí„¶o·7;wí`æÍthßÚµKl¿Aýú´mÓš«V#'+V­bÈÀ%¾¡íÚáîîFpPo¿þ*QÑÑ„GDZÝ×ûõ£Aýú´nÕªÈúíììxûõ×èy>ª F£‘í;Âi×¶-—ÿ®PZùÕâÂõ¥½lCiËEDD¤lªå¬’Nü/”Õ©S‡ñwÝÉ“Ï>GßÞ½xøhÚ$€øó'cï¸Ë²Ñh$ q£"댋Ç`0TæXKŠ£¸¶ìììhsÑÉ®ƒƒm[·!6.®ÈmêÕ­[¨ëÕ«[h´çÒúÍf3Íš6)6†“ Ì™÷»öì%99™”ÔTòŒEOÛ)­/ }zõdæM <ˆ ›6Ó»WOâããÙ¼e+];wfã¦ÍôíÝ˪ö‡Ì/K~å¾ñ÷ð×áÜM>G×.ÖߪٿaC||¼‰‰‹ÅÉɱÌ}}µÚ¸y µjÕ¢]›6å*±•j9«NÒÒÓ.[žš–Š——§åÿŸzü1ÈÜÏ?çö{Æó³Ïpó¨qq©½½=[×ÿ‰½½}©íeçä`4ËHGQŠkÂ` Bʘ›—k¹È¿¨úŒF#wÜ3‘#®cêÿÅËË‹{î{ Øú¬éË>½{ñÂK¯`2™Ø¸i3ãﺋ8¦ÏšEff;wòÒÄç­jÈÀ|8õcââãY±j5úöÅ©˜éWÅ1`À¥†K¥÷µ­ì;p€'NpÓ¨‹LÎK+¿š4nä_Õ!\Ã…ÑŽ«!6‘›œe•õX^Åiä߈È]»/[±ÓrmÀ-[4çã?àõW^bö¼y˜Íf6lˆÙl&"r§Uñ7ò÷Çd2±wß¾"Ë9•tªÄ:ŠŠ Nt³³³ÿi«‘?ùùùüë/˲üü|öí?@pPÙG`.Ø8³ÙÌî½{‹,ÿëðaRRSyìᇠ¤¶»{¡“ÖK㵦/ÃBCÉÍÍå—_ÃÕÕ•Fþ éÖ¸¸x–ýñþ XÞ·ÒÚ÷öö&¬C(ËW®bÅªÕ 4 LûüÄ N%%Ѭi“r÷õ¥}P•Ù¾#œúS£F2—‹ˆˆˆØZµL@î¸u?ý²„…_~űãlj?vŒ¹ŸÏç÷+¸ãÖ[‚k/~üù¢¢£IIM%..£1³ÙŒGíÚŒ>Œ×Þz›áäääMBbb‘íÕõña@¿~¼ñÎ{ìÛ¿ŸœÜ\¢¢£-16mÂïËWpöl2»vïæ×eË,Û–LŸ:tøgΞåÌÙ³xyz2|èPÞ~o2ñÇŽ‘žžÎ”iÓ1Ø<¨äk¬áéY‡ÇñÎä÷‰>z”ôôt¶‡‡[Ê=<<0,_µŠ´´4¾ùö»BÓ‘.ך¾tpp G·nÌüt6½zö Ft ãÓ¹óèÛ»·Õí 2˜¯¾YLJj ]:u*uŸ:Dzz:'Nžä•7Þ¤w¯ž4kÚ´Ü}}i˜L&^{ëmËu.¶’žžÎÊÕkhß®-u<<ÈÍÍ%77—üü|«ÊEDDDª‚M¦`åççcgggõ&ƒÁPâs@:„¶gú”™óÙçÌ›¿ƒ‚ùdú4Ú´.˜ÏŸtú ¿¯XÁŒO?%==ƒ À@>œü®ejÍK/<Ï´YŸðÊ›o’’’B`@ ÷¿?_ß"Û|óÕ2òŒÐ IDAT—™:}ÿyî²s²iÞ¬¼ûLzþy^}óM†Ž¼À€† ˆƒƒ½Uq <˜eË—3ü†Q„¶kËì™3xuÒD¦NŸÁ}=BNNíÛµeÁÜ9ÅÞ马^yq"S¦MçGÃÙÙ¹Ðõ ê×gâsÏòÁ”ù`ÊÇ П¡í-åEÅkM_öíÓ‹«VÑ»G˲^=º³iËú\ôDûÒÚØ¿?ïL~Ÿ‘#®+ö¶ÉûuÙ2>[ðvövôíÝ›gž|ÂRVž¾¾´¦}ô!á‘4kÒ„n]»”OEÙ¹{7ÙÙÙ„GDiYÞ«GwZ4o^j¹ˆˆˆHU0$&&›,]º„ ŠŸÿoÅ‹¿¤eË6øúúZ}÷£ÑHbbìcܸ;®¨})Ýþ¸íîñlÛ°®ZLÓ1™L vï¼ñz©'ü—>£åj2þ\n¾y\U‡Q©NâçWôóh®¥~øañ—ŠˆˆTóçÏåºëF[^é# AÄÄD“‰Á`ÝŒ/³ÙÄÉ“' ®äèàÐáÃÔõñ©É<è1??ŸNÃJ_YDDDD®*•ž€´hÑ ³ÙÄÑ£ÑdffZµ««+ТEÑÏ]+sâäIŒF# 4àà¡CÌ›¿€±·Ü\ÕaYmé0°¿«úy""""R´J?ƒsww§uëv7µúâW{{{\\\¨U«V%GwmÚµg_/þŽ˜˜¼¼¼¸yÔ(î¹³zLuËÉÍeÕšµLyrU‡"""""åPé ˆÁ`ÀÍÍ 77·ÊnJ¬tÝС\7thU‡Q.ÎNNlZ»ÚêõwnÛR‰ÑˆˆˆˆHYUŸ§­‰ˆˆˆˆHµ§DDDDDDlF ˆˆˆˆˆˆØŒ±% "UÄÕÕ•¬¬¬ªC*YVV&®®®U†ˆˆÈUC ˆH iJDÄv²²¬{>ŽT?YY™„‡o§I“fUŠˆˆÈUCOr©":tdçÎpÖ®]eõC:¥zquu¥I“¦„††Uu("""W % "UÄÎÎŽ°°Î„…u®êPDDDDlFS°DDDDDÄf”€ˆˆˆˆˆˆÍ(›Q""""""6£DDDDDDlFwÁ‘ e2™ˆˆØAtôÝbú_ÊÕÕ•¦tèÐ;;ý–)"e£DDD*Tdd8IIIôë7—êõx{{{òóóK]/!á$~~õmÑÕCVV&;ˆŒ §cGÝJ\DÊF?[ˆˆH…ŠŠ:LXX§j—|DDDTuÕ‚‹‹+aaˆŠ:\Õ¡ˆH5¤DDD*Tff&...U†T2WM±‘rQ""""""6£DDDDDDlF ˆˆˆˆˆˆØŒ‘óª:‘=% """""b3•þòÞÞ—•‹ˆˆmÙä o³Ù\®×•Z·acn»ƒN=z1pøuÌÿb¡¥,##ƒWÞx“~C†2hø¦L›N^^^±u™L&>ÿb!£ÆŒ£{Ÿ~ŒàAË4‹K§…GDÒ©G¯RãxôÉÿ0á"Ö®[Oh—n„véF~~>9¹¹|4m:ÃoEÏþyèñ'ˆ‹³Ô×­O_¦Ïú„¡#o G¿¼ñλ¬]·ž;'ÜK·>}¹ûÞû/›²pAqm–¶ÝúôeþÂEŒ¹ýN:÷ìÍMãncÿV——µ¿‹Ò¶Múöîżùó-Ëö<Èöí;xð¾{ ­;á"ÆÞq{öfȈ‘–©-»vï¦C×îì?xвîs/N≧Ÿµs¡]ºñ×áÃåêkkú±¼ï5:÷ìÍŒO>eȈ‘ô0„ÄÄbûâB<%½o%}†ÊÓ7úµ¤zK*»¸k>'%í[y•Vï…‹û¬å»þÇíãÆú¿,Ç{E¹õ–[غm;ÇŽLeÌÉÉaĨ›øæÛï*¥½âÔ«W''§rm›•MBbb¡_õk8;ã[¯qqñE–‹ˆˆmÙdÄl.ûÈ•ÊÎÎæÙ‰“xêñÇ2h çÎ#/Ïh)éµ×1™Ìü¸øòŒFî{è|¼½¹óöÛŠ¬oÊôìà­×^¡‘#ŽÆųN+ŠcÖ´©L›9‹˜ØØBÓ,Þ|÷=<ÈŒ©áåéÉÌÙs¸çþYöóO¸ºº`4擟ŸÏ‚¹sHOÏ`ìwrôh ¯Nš„o½º<øèãÌútï¾õÆeñ×fiŒÆ|N%%ñ꤉Ô÷«Ï[ï½Ç;ÿý€¯.°ª¼¬ý]œGz¨`cb dö¼ÏsËÍÔ«[·Ðz½zô wÏøøø°yËV&¾ü ]»t¦}»vŒ¾ñÞxû]¾Yô›·leÓæ-üôý·…Nþ.ÞïòöuqýX‘õ]Êl6“‘™Éü¹³INNÆÏ׷ؾhÖ¤I‰ï[iŸ¡òîKIõ–ÖæÅÞýïû¥~NJ:&ËËÚz­ý¬8y’øcÇèÚåònX{¼WOÏ:4mÒ„mÛwàß°!ŽŽŽ´o×ÿ†•ÒÞ•8™À¢¯¾Æd2á[¯];wÂÃÃŒô Ü/¨]ی̌bËEDÄvl2b2™ËõºYYYäææâß Þ^^„Ó¢y3þ>uеëÖóÔãR§Nêúø0xàÖm¼ü"M€´´4÷=o½ö*­[µÂÝÝöíÚyÂZ–8Š’œœÌ’ß–òò‹  ÂÃÉÏ>ƒƒƒ=¬XaY¯WøùúÒ$$˜–-šÖ!”&!Á¸¹¹Ñ·OoG)c•n`¿~´nÕ OÏ: 2˜¨èh«ÊËÚß%iÚ$„!ƒ2oþöû}{÷âá°Ì£Ž?ÿ;öŽþ!74nTdqññ B‚ƒÊkIq×–mΟ<888жu›BÓK.V¯nÝB}\¯^Ýb5®(>Þ>%N¡º¸¼¬ý]šG|€Ñco%..ž;o¿:uê––Vh“ Ì™÷»öì%99™”ÔTòŒñ¸¹¹ñ³ÏðÜ‹“hß¶-7euÛÝ×¶xïJê‹K]ü¾•õصv_Jª×Ú6Ëó9)혵æ{¥<õ–æô™3xz?šjÍñ^š²ì›——çU}G5OOOþð^å%fÏ›‡Ùl¦aƘÍf""wZ#L&{÷í+²ÜÑÑ‘SI§J¬£¨8 àd);;ûŸ¶ù“ŸŸÏÁ¿þ²,ËÏÏgßþ•}¦(—¶ií>”—µý]–ïé'ŸàÛ/Q³fÍËÊþ:|˜”ÔT{ø!‚©íî^è„*;;›·'ÿ—û'Œçð‘(~üe‰õ;SŠÊìÇò(­/¬Qܱ{¥Jª·´6+ãsR–ïkõY»”——gΜ)q’Žwk”eßbãâð*b:ØÕ,;;›ÔÔT¼<=qqqÁ×·±qñ–òœœ\h\d¹ˆˆØVµL@î¸u?ý²„…_~űãlj?vŒ¹ŸÏç÷+¸ãÖ[‚¹ä?þü QÑѤ¤¦ÑX0ìîQ»6#†ãµ·ÞfGx999DEG“˜Xd{u}|Яo¼óûöï''7—¨èhKŒM›„ðûòœ=›Ì®Ý»ùuÙ2˶%ÅÓV>™³g9sö,^žž :”·ß›Lü±c¤§§3eÚt vX!ïÇ¥m–¶WÊšþö¬S‡Í[·r*)éÊÛóðÀh4²|Õ*ÒÒÒøæÛï MË™óÙçÔvwç‘àÉÇaêôœ>}úŠÛ…ÊíÇò(­/JRÚ±[^%Õkm›•ñ9±æ{¥¬Šú¬]ªyÓ¦œKIádBB¹Ú°FYö-66ŽæÍ ®»1™L¼öÖÛlÙº­Òb+ŠÑh$77·àáf3yyyäææb4Lé‹>z”˜Ø8ÒÒÓ9uêËW­ÂÏ××2•­}Û¶DîÚEl\g““Y»n¾¾¾–çÇ\\.""¶g“k@òóó±³³³úÄÅ`0”øì¡í™>åCæ|ö9óæ/À`€ €@>™>6­ æ„'>Ãï+V0ãÓOIOÏ (0'¿k™žñÒ Ï3mÖ'¼ò曤¤¤È}ãïÆÏ×·È6ß|õe¦NŸÁž{ìœlš7kÆテ‡‡“žžWß|“¡#o 0 €!ƒâà`oUCfÙòå ¿a¡íÚ2{æ ^4‘©ÓgpßC““CûvmY0wÎå¼-奊j³¤}¨¥õ÷]wÜÎìyóØ·?ŸÎ˜~ES@Ô¯ÏÄçžåƒ)óÁ”4 ?B ,v$*š/¿YÌÂÏæaggÇ-£Gó۲ߙüáG|8ù½+ÞÏÊîDz*©/JSÚ±[^%Õ[–6+úsbÍ÷JYõY»”7!ÁÁlÞ²µL×#•…µû–˜HBb"ÝÎß‘+//ðˆHš5iB·®]*%¶¢¬]·Ž˜Ø’ƒ Ïs†ë† ¥Aýú…ʣưwß>ÒÒÓiØ =ºuÅÉÉ©¢B¿Ìâï¿'55­Øò17ÆÃóÙÌÁC}ô(g“Ïb6C­š5iР>ݺt`ÉoKIüûo CÁ±Þ¨ÃÂpvv²¬Ó¸q#Úµicic×îÝìÞ»Q#GâîîViûz©ª8ÖED¤t•~v”™™‰££#f³ÙêmÌf3ŽŽN%NÙzøûwËÍ…–ÕªeÝˬ9s‰Ž>Ê”÷'[SiÞ}ÿ}>Â[¯½J£Fþ$þý7á‘Ô¨Q£LëT¥Kû%5-¯¿û޶mÛ()ÁÆÍ›9}æ,ýúô¦¶»;éé$$&\•É@l\...ÄÆÇ]vRv±œÜ\ö8@]›Ÿ”…GDr69™Á«GÂrÁº ˆ‹£]›¶œKI¹¬üØñã¬ß¸‘Þ={R»¶;Ûw„³bÕjF Vi19Òòý»wÿ~N&$0dà@K¹““&“‰å+W‘|îa¡¡x{yâäìLZZééé…ê ëJË-ÈÏÏ'99™­Û¶³aÓ&öïWdûqññ„Gîdø!6M> zë""×"›œ!™L¦2oSZÂââ₇‡G¹â1æåa2å—kÛ¢˜ÍfÖ®[χ“ߣs§ŽøÖ«Gû¶mË´NU»´_Ìÿ-øÜ2ë¹'‘““Ë´>à±§žfãæÍ„vé@øætëÓ;o»•ß–ýNfV&ß}õ%¿/_Áò•«ˆ‰¥Ž‡·[äÔ({;;û ЩG/nu#+W¯!/7—°˜ôüsøøxóè“ÿ)²_:vïÉâÿ[H³¦MK­¿[Ÿ¾Ü?a¬XIl\þ òæ«/ÓªeK à×áYŸÎ!&.ŽÚµÝ¹mÌ&Üs7999Ü4î6n7–[ÇŽ©”¾) £ÑHxäNbbcÈÉÉ¥®Ý»uÅ£ví"×7 $9Mƒõ‹,ÈËËcÓ–­;~;;;B‚‚èÖ{{{æ/\DëV­8…јG“ŽŸ8ɘ›F[ê8pðûà–›F—¹¾›F¢VÍšÄÅÇãééIHH0›·nåø‰–÷¯(óæ/`ô7pâÄ >Rîx.5á"ÂBC‰ŠŽ&%5w77úôî…·7¿/_Á±ãÇ-íÜ{ÏÝäççWhîÞ³—¨£GIIIÁÙÙ™Ö­Zš6t±üü|òó‹NŠììì,'¶%%žYÙÙ$$&Ò«Gw˲ÎÎøÖ«G\\|™²£¥Ù³g/Ë9eÐ`0€Ù|Y’““ÃòU« ¤õùï€ J;^J+ÿü‹…´hÖŒ£±±äççSßÏî]»R³¦«¥ª:Ö­9VvíÞCtL 7Ýxƒ¥ìÌÙ³,ùm)wÞv+¥¶ÏŽˆHRRR¨QÙV-[^U?h‰ˆ”ÄF HÙG@J““MZÚ?óšíìí©éêJûví}ã ¼ñö»|³è 6oÙʦÍ[øéûo1 Ìš6•i3gËÇ~pQŒf223™?w6ÉÉÉøùúÒ«Gz÷ì›·leâ˯еKgš5)<”o0xèþûø`êÇŽŠâ{ï%(0 Ìë·o˜JIäÞýïû8xS?ÂËÓ“™³çpÏý²ìçŸpuuÁh4R×LJŸ¾]LÒé$Þ|w2=þßýe±ýR¶úó9•”Ä«“&R߯>o½÷ïü÷¾^¸€ììlž8‰§Œ!ƒrîÜ9òòŒ@Á¯²íÛµÅß¿a‰ûg+›·låTRC ÂÕÅ…‘üúÛRn;¦È´°ÐP¶lÛÆ™3géÚž:EŒÌ­]·³ÙÌÍ£GaÊÏç·ßÿÀÅÅ…¶mZÇŸ1/‘×]GVv®..ìÛ€sçÎYFúbãâ (W}µjÖ &.ŽF â`oO}??bbcK<)» (0­Ûw”;žK™Íf222èÕ³nµj±aÓf6nŲ́F2lÈ`¶íØAJJj¡)X~e¯¨>ôoØÿ†Ôtuåø‰¬^û'þ àYÄtñeÛ¶"÷¥KçNÅ&.ËH/¸ÎÝݽÐòÚµÝÉÈ´îú¸ ÊzŒ–Äh4’–ž^æ£Ñȹ”""wâïï_莅f³™Uk×ââRƒݺ]¶miÇKiå&“‰š5krËèÑddf°qÓf~_¾œ›FÝhI‚ªêX·æX  b{x8)©©Ô>›KpPŸ}†?ׯç+}þ—¶ÐvípwwÃÝÝ·_•£n"<"Ò2-ìJëد­[µ²ôÙ˯¿ @VV¹¹¹ø7h€·—Þ^^–ºíììxûõ×Ê´¿WÊd2a4 -srr"+;›¿Žaäˆëð¬S€ݺ,ž¨èhš7kvY]­[µÄ·^=¶nßÎ÷ÿû‘À€ÂBÛ[Nd323‰‹ã–Ñ£-SW‚ˆ?v¬Ð z``nnµps+˜öâãíM\ü1<<<ÈÍÍådB]»t.w}¹¹¹$$$Ò¡}{üý²#<“ÉTêí®kÕªuÅñ\*00€º>>„ñçú Å®[Ñ}J4‚ƒ‚ض}g““‹L@Ú´nE›Ö­Jì£Òdçdã`oY_;::‘ž~yR‘ÇhIÒÏßÄÚk¶mßÁ¶í;,Û4nL×Î ­“’’JBB"=»w¿l¬´÷ÒÚ÷º^ݺ8;;áììDßÞ½Yüý÷$$&Ž¥ÞE IDATRßϯJukŽ7·ZÔ­[—˜˜Ú·kÀјËÅþ¥µ“——G~~>nnºâêêZ\S""W¥j;ëé'Ÿ(v:”››/<û Ͻ8‰ömÛróèQåjãdBsæ}Æ®={INN&%5•ý„={÷ñÙ‚/¸ýîñÌûd¡íÛ•iâömÐðŶmZý󟃃m[·!6.®Èmü6ÄÇÇ›˜¸ØRòÔïãíC^^AÕ©S‡ñwÝÉ“Ï>GßÞ½xøhÚ$¤Ä6+Ó™³gùé—%…–Ýs礤¤`0,'ÆP ùxû’’Zl}ÞÞ^Œ>ŒS§N±s÷~Zò+× Нo=RÎ_Œüã/¿XÖ7™L¥N— $&.ŽvmÛìînnxÖ©ÃÉ„„rÕìvvv–“*ߺu-'j%M«¬x.æêâZì´ Âû -=ýÿÙ»ó¸(êÿà¯Y@Y[ûoQɃPSA¼M»´23iÙe}³2M-µ´¼­¾¥%j§Ù­©i¦âmê7oAå‚…Ýe™Ýùý¡n¢ËÊ ¯çã1‡ÍgæóyÏg6÷|>3ƒä£Çpùòeh´Z”——C¯¯ú.²©S°jbÛÜ¢^ËT¥Š ]•/¢¨ïßhu®Ž©T¥•ž©Nd×.hß¶íÕçIª™bçìì„{{öăááánìs ösiιvtt€½½þùçx{y5èoÝÔßJhpΜ;Î(((€V«…ïµØj륭-:wê„í;v Àß÷Dv­ÔÇDD]“‚U›ëO ¡–-«&Š"ÆŽŸ€ÆbéÂ÷áææ†ñOO2ißN;`ùâ…˜òêkøñ—_*%uÙ¦.ªËñ5Þñ @i[ûOsë¿ÑË/¾€¸ØX¬Z½ oL}iÒ¾õͽeKLú¿ ·Ôpœ7?`[ ‹mìÀ™sgáéÙ ÖÖÖP(xjÜuú°fpP9µZ´ô§€˜[_ZzDQÄ—_Sy}F†ÉeõO]Ôw ü²qZ‡…a@L ìì”Ø¸¹ú.ÔǬëÏ'”””Àé† Ö’U¥dâ:KýFofmm 'GG\ÊÎBË–n&moÊ›ûÚµmƒ+W®`Û;ðÀý#ŒÉMmçÒüß“`¼¸oÈߺ©¿•à  <üŠ‹‹‘š–† ÀcBgJ;ݯM¿J>v ?ÿºÑQ=ë<úEDÔPšìHM´Z-æ-x'<…o¾Û€Ÿ~ÝXéBW¡P@«ÕÖXÇÙsçP\R‚&?küG­.ÿ¸ ‚€V­—²²—Ÿo|=eMýbNýUi×¶ –-ZˆÍ¿ÿŽ¥+>ă#ï7ë¢ÉRœœa0p¥ À8'Þ`0 /ÿ ükŸ?~½½Dñê]PGGGH’„ÜË—oÊ2…ƒC ´lé† ii¸xé"»t6»>QqñÒ% ˆé À@ãú#II8wþ<¢£zσTÍn}ÆSAPTm¬ï>,(,Dyy9î‰ìj¼ÀPùwxc?ÔÇ,¥R OÏVHÏÈDD§«¡åå:äääÔ:y£úúÞ¨Kçì;pA•’£ÛuoTOlÚ¼îÚÁã B­çÒœs­R©PVV77·ÿ­›ú[±³³ƒ—§'.¤¥ãBZZ¥geL탖-݃”ÔT>r„ 5–¹]yéÚRêºÔäúƒÚ7.ׇ½W~¾NŽŽxî™I˜òÂsXºâC\¹rŸo+œ9w……((,¬²~gggˆ¢ˆm;v@¥RáÛï6T;Õ¨\§ÃÜ÷æcï¾ýȽ|—²²ðå7ßbão›1|È“·¹n®®2hæÍ_€Ì‹QZZŠ%ËW@Pˆðï;ÿOŸ9ƒÒÒRdegcæ;sЧw/´¯µ_L­¿:?ýò«ñ­G™Å«ÓQ fχƒ‡ª¾k('¥R‰°ÐìÝ¿Å%%Ðét8|äA¨ò¥¢(bϾýȼxeeeP©TøûÄ œ;wÞ8Å̶ys„…†"aÏ^dçä@EçÞ×$8(GÿvvvÆgÌ©/+;$øùùUZ„²25ò¯ýÿ¡T*q)+«Ú†ÖW<µiao‚Bh4h4 ô¡- .¤¥A§ÓáÄ©S•¾ÛQ[?TGEèt:èt:@’PQQNg|–£s§NH>v é(,*®„xzzÖé;;uýš",4þþøñç_pìøÿ—Ÿ²25._ÎÃÑc·~ôÕTÖÖÖˆ‹AAAŽ$&¨ý÷bê¹¾RPN•ª»÷ìE€¿Ü\]›Ôo=4$Ÿ8òòòJ‰Fm툢ˆ3gÏ¢°¨åååø§¸½Aö›}DDæ’eD¯×C¡P˜ü—£ µ¾Ñ£ªµ¿ùb-šÙ4ÃW߮ǺÏ?ƒB¡ÀÃ<€ß¶lÅ‚E‹±hÁ|À ¸8lÙ¶ Cî….ðéGÞR¿·7¦½6 —,ÃÂ%Ë0 ¦?º^» v³²Ò2 >X²—/çÁÖÖíÚ¶Á‡Kïlš²Ííš5}–®øO?ûÊËËÑ9¢Ö¬Z‰æ7|eyÓ–-ø|ÍZ(¬èÛ§^ò’±¬¶~1¥þêä_)ÀÖíÛñá'Ÿ ´´ ÁAAX´à=( ”——#1)­ÃÂÕ³G½ôÅíèÝ«þ ¿mÞ½^Vž­0bØÐ*çùWTT@8tjµVVVhÙÒ ƒÆUº è}/þ:r»÷ì…V«…‹³3:Gt2ο¯Np`þ:’xËGÔêZ_Ffüýý`}Óœ}WWW8::"-=îîèØ¡=’’"/?C ²X<µ FÊ…T|ûÝ´òl…¡ƒÕk:8´@tT:Œƒ‡#((ž­þýêymýP] HKÿ÷FÅö|}|0dÐ@øûù¡O¯h$;†²Ò2øùùVù–¨ÚÔå7j AÓ¯/RRSqî| þ>y:Z´h___èõújŸ÷¨½½=bú÷Ö߷¡eK7Õz.M9×çRÎãèñãP(øûù_oÞ”~ëAØwàÂÃBoéßšÚQ«ÕHI½€#IÉÐétpvvFLÿ~j4™ˆ¨&BnnNµYÁæÍ1a‚iÏ=Tgýú¯Ð®]Gxzzšü£(ŠÈÍÍÁ©S'0fÌØÛjŸþÕ¥GâW~zÛÏ›4ññ«ðÐCüxÑÝæ³ø5>d<=[Õ¾q#&I¾úv=úÝ×¾>> Q•~øa}óøøU:tDµå FZZ*´Z5Á´_’d@vv6‚‚Bjߘˆˆ¨ ÊÉÍ…d0ÔÛ³SDDM…ŶmÛC’ ¸p!jµÚ¤}ìì숶moï¡O""¢Æ*%%{{QceñÄÑÑ:D $$¼Æ÷üßÈÊÊ J¥-®½J—ˆˆèN"Š".¤§#.&¦¡C!"’ÅAàààK7Eµ8zø`C‡@DtÛ&Nxª¡C¸mÖÖÖÿŸq$¢»Ç}‰ˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@¨É²³³ƒF£iè0ˆˆˆˆîHvvvõ^/j²BCÑ”ô4Ó¾/CDDDD¦ÑhÔHLü aa­ë½n‹¿†—ÈRºv½G&b×®&ä’ˆˆˆˆjggg‡°°ptéYïu3¡&K¡P 2²;"#»7t(DDDDd"NÁ""""""Ù0!"""""Ù0!"""""Ù0!"""""Ù0!"""""Ùð-XDf0 HJ:‚ÔÔó|pcgg‡ÐÐptíz Þƒ!""’"3$''"??ýúÅB©¬ÿ/„šÃÊÊ z½¾Öírr²áåå-CD3F¤¤#HNNÄ=÷ðÎDDDrãí?"3¤¤œCdd·F“|@RRRC‡Ð$(•vˆŒì†””s  Ñ]‰ ‘Ôj5”JeC‡AfR*í8uŽˆˆ¨0!"""""Ù0!"""""Ù0!"""""Ù0!ºCDFF6tDDDDµbBDDDDD²±øw@Ìù`?FDDDDtg²x’œœˆ‚‚ >öö-LÚ§¬¬{÷&ðCaDDDDDw‹/¤¤œCTT4A²²2“AP **ºÚ…=ùô$Dtëˆn=еç½ñàÃXõùjèt:Kެ2/^BD·øçŸn«ƒÁ€øµëPPXXO‘5œûbã°ÿàÁ†£^\ÊÊÂO¿üŠU«ã‘•}Kyê…4ü²q¾üæ[ìJØsÇý¾‰ˆˆèîdñD­VÃÆÆ’$™¼$I°±iVã”­É“&b÷ößñÛÏ?âÕ—_ÂÆÍ[°â¿ŸÔGÈfùxå*üçõi Ö~MJT*|³aÒÒÓ:º&aï^ü¹k‚ƒ‚`m}ë@äÅK—°gß>tìЃÆA£Ñ`ûŽ?+•ßìnúzFæEdd^lè0ˆˆˆÈ ²<`a0 IRƒÁPcJ¥...ðöòÂ}½{ã¥ç'cëïÛä8œ*‰0ô Ö~Mœœ°cËfÜÓµkC‡B×´ oGy#:UY~ìøÿеsg„¡¥›ú÷닼ü|ä_¹b,'"""jŠdI@êš|\_êF€þ†¤¥¬¬ 3ß™ƒ~aÀaX²|***ŒåQ÷õÅŠÿ‹A#îGt¿¼óî{Ø•°OLø?DÝ×OþßÄJÓbÊu:,^¾Cî…^ýcñì‹/!=#ðü”W¿î ìJ؃.=¢Ð¥Gôz}­1ÜLE|øßO0täè‹é³fU*¯©¾/¾ú#]iû ?üˆQ\]×¥GΞ»:¥Í`0`õÚuõÈÜ{_?<5éãô¬ºÆu__įû<þº÷êƒÇ<†“§NË»ôˆÂÑcÇÿ˜”ŒnѽÍ>°âãO3x(ú „×ÞœQijYmñwïÕþ÷ 6½cb‘ž‘a£Ä·ßm¨ö-¡U+4kÖ¬Ê2V‹œÜ\øû×Ù6oÏV­‘‘i,'"""jŠdJ@ f-µ×+¡\§Ãé3g±zí:Œ>ÌX6cöÛ(..ÁOë¿Å×ëÖ`÷ž½X¿á{c¹(ê¡×ë±fÕJ¬ýl~ÝôÖ~ñ%fMŸŽí¿mBEE>þd¥qû÷Þÿ‡ƇKã·Ÿ~€¯ÆO|jµ/_Š OŽC¿ûúàèáƒ8zø ¬¬¬jáf‹–.ÃÞý°|ñBü¾i#Æ=þX¥òšêƒ´ôôJÓ¬v&$`@LÌ-í,Yñ!¶ïøsgÏÄï›6bÊóÏÁÕÅŤ~»™(ê‘—ŸYÓ§á÷¿ÂßÏ﾿°Úí«Ú¿.çŒÃOß}‹¯×®AiY)žŸò²1a­-~I’P¦V#~Õ§ødÅrøûù¡sD'øùù𳥕•–+­wrrD™ºÌXNDDDÔYü-X`0Ôu4£vK–¯À’å+¶¶¶xlÌh¼ðì3€ËyyØ•°?oX—kÖq±1HØ·OÜpQß;:^žž€vmÛ ²k„…†úÞ×Ûwìaão›±öóU L›ú*vïك߷oÇ#ï¿%>Sc¸®¤D… ?þ„uŸ†Ð«1´iÝÆäú¼¼<Ѿ];ìJ؃ À@¨T*ILÂÔ—§TjG¥Raý†ïñͺµ tŽˆ0+æëbûõC‡öí\MÞz{NµÛVÅÔóp]Xhœáä船³fbÀÐáH>v ¾>>&ÅÛ¯|¼½áãí ˜÷öì:ÅkiÚr-¬­¬nyµM3”––Ëåbê³7ŽØÈÃÍë-ÕYºO§ªÝäI1æá‡ðÇŸ;ñѧ+1aܰºvQ–yí¢dôØqÆíEQD`€µõµòð¨g«V¨¨™™P(èxí"¬­­Ñ©CGã4¬›Õ5†ôŒ H’„öíÚš]_\l þܵ ž‡½ûÀ×Çǘ0]—‘™ ARy½91WŽ¥{S¶jSÓy¨JË–-áãíôŒ ôWGÍn'þÆÀ¶¹-D½’$AãúŠ lmmå7‹ŒŒ„¾ŠõDDDD‰L HíÓ©êJ©TÂÙÙŽ‰ïü «â×àÕ)/]+³…••íÙmLJnGuù“  Ú%Ö5]…îZ[U7fJ}búcÙ‡áÊ•+ع{7âbc*]À€¶¼¢(VÙN}÷›\A€^Ô7Ùøofoo())“““q}I‰ îîÆr¹4†Q…›c¸>òÑb#""¢ºiò¡+ ¼úÊ|³þ;d^¼zQâëë I’”|´^â÷÷÷ƒ^¯Çé³gëôz=Nœv é(,*®„xzzÂÍÕÕXNDDDÔÉ’€è¯Íg7 &-’$Õy.û^z {÷áð‘#€o¼Ž¾÷õÁÌ9sÐ7n fÍ™‡ÓgΘ} ³¦OC§ðô³ÏaèÈp)+ kV­Dók¯R‡À ¹fÌšmV sf½g<:îI ùŽÿý7œå¦Ô7 6……Esëô«ÛéÚ9¯¼öbÁû‹— ¸¸Ø"ý6ýõ×q)+ ƒFÜù #ÀßÖÖ·1=J“›‹G?ŠG­Ÿ|¸Â8®®ñWTT 1)Yö4îJHÀÚ/¿ÂÚ/¿‚¨×cûŽ?±ö˯Œô÷óCŸ^ÑH>v ›·l…­ms ¸aDËßSˆˆˆ¨irssªjؼy#&L˜t[ ¬_ÿÚµëOOÏ*¿ø\Q‘››ƒS§N`̘±·Õ~STZZ {{ûjjxññ«ðÐCc:ŒJŽ;†Î;׺]NN6¼¼¼eˆ¨qÇðÃëoûï7"""ºU|ü* :¢Úr‹?„Œ´´Thµj‚i.’d@vv6‚‚B,]ãÔ¢E‹†ˆˆˆˆÈ",ž€´mÛ’dÀ… ©P«Õ&ícgg‡€€@´mÛ¾ö‰ˆˆˆˆ¨É°xâèèˆ"nòsVVVP*• """"ºÃX<ppp°tSDDDDDÔÈÉò,"²¼ÈÈȆˆˆˆ¨VL@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆÌ`ggFÓÐa™45ììì: ""¢»"3„††#)é/h4¦}ÛFIII B“ Ñ¨‘˜øÂÂZ7t(DDDw%‹¿†—èNÔµë=8z4»ví0ù›rHI9ÓÐ!4zvvv G—.|kQC`Bd…BÈÈìÞС5)œ‚EDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²aBDDDDD²±ø—Ð ’’Ž 5õ<ÔjµIûØÙÙ!44]»Þ…‚9ÑÂâ Hrr" 0|øHØÛ·0iŸ²²RìÝ›€ääDÜsOw GHDDDDDr±øðBJÊ9DEEC(++3i¢¢¢‘’r®Ê:ûŒ={÷ݲþ?wbÀa–>¤ õ "ºõ¨vIKO7n»zí:Dtë_ûí–zž|z’qŸ.=¢0pØÌÿ`!JJT&Ç’yñ"ºõÀ?ÿüs[Çd0¿v o«"""""‹€¨ÕjØØØ@’$“÷‘$ 66ÍLž²Õ˜|½n $ƒáêŸ×‡¿Ž$bùâ…ÆrãŸwîN€«« vîÚû‡Ýš8Mž4£zÚòr\HKâ¥ËP8Î×òrƒ• ßlØ€N:ÂÍÕUÖ¶‰ˆˆˆèÎbñ¸z½®ê’°4&NŽŽÆ?+mmamm ggç[¶ËËÏÇÉS§0sú4¼¿p14 ”Je¥m”J%\\\^žž0è xmú  YŸqvrÂŽ-›ekˆˆˆˆî\²\ÅJ’dÖr»öîÅ#E·èÞˆ2ñk×ËÊÊÊ0ó9è7p †%ËW ¢¢¢Úºâ×}ÑcÇ¡{¯>8lÖ}õõmŶ+!á¡¡:hàÀ¡Cµî£°RÔØ7¢(âÃÿ~‚¡#@ï˜XLŸ5«RyMÇüÅW_cäã+m¿á‡1ê‘«ëºôˆÂÙsW§Ä ¬^»£ƒ{ï뇧&=cœžU×~%"""¢»‹,# ’T÷Û¥Õj1uÚt¼üâ 8 ÿüó**DcùŒÙoÃ`ðÓúoQ!ŠxúÙçàÞ²%žxü±*ëë>½¢áîîŽaÚ[3ѳGw´ 3+¾]»}/lmmѽÛ=øsWbúõ»e;I’ «¨À… iødÕg¸·gOXYYUY碥Ë|ì8–/^///ì?p¯½9äcƒÅËW -=A€ sK;KV|ˆ#‰I˜;{&üýüq!í\¯ÔÔµ_‰ˆˆˆèî"ˈÁ ™µÜFN?´tsChHÚ¶i ¸œ—‡] {ðò‹ÏÃÅÅîA¾[l¿.,4¡!!prtÄàqðòôDjê³bS©Tø+1 ½ï½Ð+:{öíƒ(Š•¶[²|:wï‰îѽñÜ”)hÓº5æ½3»Ê:KJTØðãO˜ùæ4„†„ÀÞÎmZ·1–×vÌ^^žhß®v%ì1Æx$1 q±••J…õ¾ÇÜٳС}{8:: sDA0«_‰ˆˆˆèî"ÓHý>Ï!B­e...xjܘ2õ5ôíÓ“'MBxX( 3ó"`ôØqÆýDQD`€µõfçä`ågŸãØÿþFQQŠKJP!š7µhÏþýhÞ¼‚ R©Ð¹SÇ«üIɈêñïk‡'Ošˆ1?{{{ØØØÔXgzF$IBûvm«,7å˜ãbcðç®]˜ðä8ìݾ>> ®TOFf&A@hHåõ¦¶ADDDDw·&9ËÅŪÒ[_G[¢*›Û¿oizùÅ‹U«WãññOᩯâ¡Q#¡TÚÂÊÊ ‡öì®v:ÓDQÄØñ0bØP,]ø>ÜÜÜ0þéIfÇ¿kwÔj úÆ ºeý ˆR©¬òöªè*tªOöL9æ1ý±ìÃpåÊìܽq±1·${Úòrˆ¢Xe;uíW""""ºû4ɇÐýýü‘|ìø-ë“’ŽÂßϯҺvmÛ`Ù¢…x{æ |úÙg$ ¾¾¾$ IÉGMŠÿì¹s(.)Á “ŸEpPœk…©I¹N‡}béÂ÷qüÈaã2éÿ&`gÂn³Þ~¾¾0 øûäÉ*ËM9foo´mÓÛvü‰}"6¦ÿ-Ûøûù]mçÄ ³Ú """¢»[“L@Æ>:?ÿºë¾ú/]BæÅ‹Xµ:[·oÇØGpõŸ~ù)©©(.)AFF&DQI’àìä„aCcöÜy8’˜„òòr¤¤¦"'7·Êöœ!Š"¶íØ•J…o¿Û€ôŒ ³úâðá¿ IîíÙ³ÒúؘþÈÏ¿‚“§N›Uo+DGEaλóqêô¨T*$&%ý{ &ó€þýñùš5poé†ðÐÐ[ÚñpwGL¿~xçÝù8qò$Êu:¤¤¦šÕ¯DDDDt÷‘%Ñë¯^ø “I’ ×ë«­¯k—ÎX±dvì܉GÇÇããŸÂþñßËѱC{@þ•lݾŸ{±ƒ‡"aï>,Zðžñû3Þx}ï냙sæ oÜ@Ìš3§Ïœ©²=ooL{m*.Y†á>Œ ééèÚ¥³Y}±3!}zEÃÖÖ¶ÒúðÐPøûùbçîÝfÕ sf½g<:îI ùŽÿýw¥)\¦ó€Øa@Ì­Ó¯nl§kç¼òÚˆ<ï/^‚ââb“Û """¢»—››SíPÃæÍ1a‚ùÏ:Àúõ_¡]»Žðôô„µµiœˆ¢ˆÜÜœ:ucÆŒ½­öïF¥¥¥°··7{š‚ý 9 IDAT‘¹âãWaèÐÕ–[ü!ôÀÀ`¤¥¥B«UCLp‘$²³³báèîL-Z´h興ˆˆˆªdñ¤mÛö$.\H…Z­6i;;;¢mÛöŽŽˆˆˆˆˆädñÄÑÑ:D $$¼Æç:ndee¥RÉ;ùDDDDDw‹' ‚ ÀÁÁ–nŠˆˆˆˆˆ9YÞ‚EDDDDD0!"""""1!"""""Ù0!"""""Ù0!"""""Ù0!"""""Ù0!"""""Ù0!"""""ÙXüC„D–b0”t©©ç¡V«:"""¢;†BCÃѵë=P(êwÌ‚ 5YÉɉÈÏÏG¿~±P*í:"""¢;†F£FRÒ$''âž{º×kÝœ‚EMVJÊ9DFvcòADDDTÏ”J;DFvCJʹz¯› 5YjµJ¥²¡Ã """º#)•v™æÎ„ˆˆˆˆˆdĈˆˆˆˆdĈˆˆˆˆdĈˆˆˆˆdĈˆˆˆˆdcñó±8K~ø„ˆˆˆˆˆŽÅääD`øð‘°·oaÒ>ee¥Ø»7Á">!""""¢†cñ$%åAP ¬¬Ì¤}A¨¨hlÝú[• È“OO±ãÇVVVðõñÁ°Áƒ0~ÜhÖ¬Y½ÆODDDDDõÇâ ˆZ­† $I2yI’`cÓ¬Æ)[“'MÄ臄F«Åù”,\² %¥¥˜úò”ú»Î>^¹ ©©°äƒ Ò>5‰IÉ(,*B\lLC‡BDDDÔ(Y<®>RWµ%,J¥...pàíå…òòr¼¿hIƒ% bE }ƒ´M‡ž¿"""¢É’€ÔeôÃ|ô7$:eeeX°h1ö8k+k ‡Ÿ› @Ô}}ñè#`˶mP©Jƒ>½z!~Ý:¤¤¦"<4 ïÍ}>ÞÞ€r}ò)þܹ %*:´o‡iS_E`@žŸò ö8èÒ# x`´Zm1ܬK(įü]:G\­#)“_š‚#û÷öîÅÇŸ¬DZFœœñØ#`Âø'M:Þî½úà‰ÇÅo[¶B­QcÃ×_áÑc0qÂü¾ý¤gdÀÏ×sf½…öíÚâ×}mì@Zz:\œñؘÑxrìãfõ_Mñ•——ãÁ1áñ1£ñèèGêé÷P»øu_ Cûö8Ÿ’Q¬Àƒ£FÁ¶ys$&EZzÊËuðpwǽQ=áìäE±Úò­Û¶ãâ¥K€Ïâ×þoü“|‘Ñ dJ@ê>bZ½t¸p! «×®ÃÈáÃŒe3f¿ ƒAÂOë¿E…(âégŸƒ{Ë–xâñÇ¢¨‡^¯ÇšU+QZZ†ÑcŸÀ… i˜5}:<[yà™ç_ÄÇŸ¬Ä{sß¼÷þ8uú4>\ºn®®øèÓ•?ñlùåg|¼|)–ô1ÒÒÓ±lÑB“c¨ ­V‹©Ó¦ãå_ÀÀ±øçŸPQ!šÜ–$I(S«¿êSÁËÓ¢¨G^~>fMŸo/oÌ?﾿߬»zñÜ;:}zEÃÝÝ´·f¢gîhVçþ«)>tŽè??ß:÷Ëí$ bEF  Vƒööسwòòó1pÀØ)•8’”ŒM¿mÆ££µµ5sb¨‰‹‹ ž÷¦L} }ûôÆäI“Z¯m¹·tGEE…ñ¿³sr°ò³Ïq죨¨Å%%¨+ªÜ·¦þ«ï¾°”ââb‚wwã:…B÷–î(..©µœˆˆˆˆj×d§`)•J8;;ãÁQ#ñý?aUü¼:å¥ke¶°²²Â¡=»IÉí¨.T;¿¿¾c€—_|q±±Xµz5ÿÞ˜ú*5Ò"m‰¢ˆ±ã'`İ¡Xºð}¸¹¹aüӓ̪ËñYD çY„Úˉˆˆˆ¨V²LÁ’$ɬÅ …¯¾2߬ÿ™¯Þi÷õõ…$IHJ>Z/ñûûûA¯×ãôÙ³Æuz½'NžBHp°1­Vk,7'äåçÕ¸M»¶m°lÑB¼=s>ýì3H’TïÇ gÏCqI ^˜ü,‚ƒ‚àäèhöE¶%â³''G \)(0®3 ÈË¿ggçZ˫߰©n”ˆˆˆˆˆî€zt놨ž=°dù €³“† ŒÙsçáHbÊËË‘’šŠœÜ\³âwsuÅAƒ0oþd^¼ˆÒÒR,Y¾‚B@Ü€XW§ 9w……((,4+†ð°Plݶ……E8vü86mÙb,Óh4øé—_‘’šŠâ’dddBõ$©Þœ!Š"¶íØ•J…o¿ÛPít³Zëª%>ƒÁ€Ùsçáà¡ÃfÇ[”J%ÂBC°wÿ~—”@§Óáð‘#ÁAµ–@ {{B£Ñ@£Ñ4äá5J²$ zýÕ eƒÁ`Ò"Iôúº}Oá?/½„„½ûpøÈÀŒ7^Gßûú`æœ9è7³æÌÃé3gÌ>†YÓ§¡S‡xúÙç0t且•…5«V¢ùµ/¯Š‹C`€?†Ü? 3fÍ6+†é¯¿ŽKYY4â~Ì_¸þþ°¶¾:e)ÿJ¶nߎ‰Ï=ØÁC‘°w-xÏ8¬¾×ÇÛÓ^›Š…K–aøƒãBz:ºvélv}5ÅWQQĤd¤¥§›]}éÝ«Z¹{à·Í[°~Ã÷(Q©0bØPX[[›T 'g'|ûÝìLHhÈC!"""j”„ÜÜœj‡6oÞˆ Ì›÷Ýúõ_¡]»Žðôô4^¤ÕFEäææàÔ©3fìmµOw®øøUxè¡1 Ñë‡Ö×9ˆ_…¡CGT[nñ‡Ðƒ‘–– ­V A0mÀE’ ÈÎÎFPPˆ…£#"""""9Y<iÛ¶=$É€ R¡V«MÚÇÎÎhÛ¶}íQ“añÄÑÑ:D $$Üäç:¬¬¬ T*Ñ¢E GGDDDDDr²x"ààà`馈ˆˆˆˆ¨‘“å-XDDDDDD"""""’"""""’ """""’ j²ììì Ñh: """¢;’F£†]½×Ë„š¬ÐÐp$%ýÆ´ïË‘i45ÿBXXëz¯Ûâ¯á%²”®]ïÁÑ£‰Øµk‡É¹$"""¢ÚÙÙÙ!,,]ºDÖ{ÝL@¨ÉR(ˆŒìŽÈÈî  ™ˆS°ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6L@ˆˆˆˆˆH6ÿºÁ`@RÒ¤¦ž‡Z­6i;;;„††£k×{ P0G"""""ºSX<INNDAA† {û&íSVVн{œœˆ{îénቈˆˆˆH.^HI9‡¨¨h‚eee&-‚ @TT4RRÎUYç“OOBD·Æeب1í­™¸”•eéÃi”ºôˆÂÑcÇ: d^¼„ˆn=ðÏ?ÿ˜´ý?ÅŘüÒôè}¸{÷¸­öK?Qõ,ž€¨ÕjØØØ@’$“÷‘$ 66Íjœ²5yÒD$ü± ;·mÅ[o¾I’0æ‰'qâäÉúÛ,¯\…ÿ¼>­ÁÚoj¾ýn23/âç ë±éÇУÛ=õZCþˆˆˆˆª'˃’$Õi1 5Ö©T*áìì 7WWôìÞ æÍE¿ûú`á’euJvê“XQƒAß m7E—óòpOdWx{yÁÆÆÍš5«×úê|ðw@DDDT=‹?@–„@<;ñi ùÎ?Öáá(×éðÑ'ŸâÏ»P¢R¡Cûv˜6õUTYGÔ}}1qÂü¾ý¤gdÀÏ×sf½…öíÚ@õ=?åì;pu Q—Q€Äû`eeU©î½úà‰ÇÅo[¶B­QcÃ×_ÁÑÁ -ƾ`meÁãðâs“accèÝŽ‰?þ܉ ‘]»búë¯Áݽe•Ç¿î lûcÒÒÓáâìŒÇƌƓcp5\óÅ—ømËV\¾|­[‡cÑ‚ùpsuEYYYqÜLE|²ê3ü¾ý”¨Jàï_©¼¦úæ¼;›6oìØ¹ -Zà÷M¿Ö{—Qˆ_ù)ºtŽ¸Ú¿IɘüÒÙ¿÷–Ønç|¸ººÖø»©)ŽêÚÕjµuê["""¢;•L HÍ£õÅÇÛÞ^^HKÏ@ëðp¼÷þ8uú4>\ºn®®øèÓ•?ñlùågØÙ)oÙ_õÈËÏǬéÓàíå¹óçãÝ÷â›uk Æú>^¾Ë?úiééX¶haµ1J’„2µñ«>EQQ¼<=ñòÔ×`0Høiý·¨E<ýìspoÙO<þص¸Dx¸»ãçïÖ#ÿJ>漷Ͼø¾ÿæ«*ßÖ;:}zEÃÝÝ´·f¢gîh†%+>Ä‘Ä$Ì=þ~þ¸v®..€³ß®1Ž›-Zº ÉÇŽcùâ…ðòòÂþðÚ›3Œå5Õ7kÆ›0\û]¼ýÖ¿ûÔ{]ÜÎù˜=w^~7¦´[×¾%"""ºSÉ4K2k1‡{Ë–ÈËËCQQ6þ¶o½9 !ÁÁpvvÆ´©¯ÂÚÚ ¿oß^íþ±ýú¡CûöpuuÁàqHIM³ë«® oothß—óò°+a^~ñy¸¸¸ÀÃÝq±1HØ·¯Ò>]""àèè€à`Ì{{RRS‘˜”\eýa¡! “£#Œƒ—§'RS/@¥Raý†ï1wö,thߎŽèALŽãº’6üøf¾9 ¡!!°·³C›ÖmŒåu­¯¶Ø-éÆóQŸçù:sû‚ˆˆˆèNtÇLÁº® °îîîÈÈÌ„B¡@ÇöíeÖÖÖèÔ¡#Ò32LªË½¥;*** ^ê«JfæEÀè±ãŒëDQD`€u»ÀÏ×îî-‘–‘ŽîU<¸“ƒ•Ÿ}ŽcÿûEEE(.)A…XŒÌL‚€ÐàÛŽ#=#’$¡}»¶õv\5Å.Kœgsû‚ˆˆˆèNtGMÁÊËÏGVv6üýQ^^^å6‚³>nX]en}×)•¶°²²Â¡=»oy>¡&(m«šF&bìø 1l(–.|nnnÿô$€¶¼¢(V™Ö5]…@õÉ¥9ÇUSìr±Äy6÷݉d™‚U×7`]_êÚÆgñkжuk´mÓþþ~Ðëõ8}ö¬q½^'O!$øÖ€Ú˜RŸB¡€V«­S½¾¾¾$ IÉGMÞçRVòòóÑ:üßç"®÷×ÙsçP\R‚&?‹à  89:B„«ÇàçƒÁ€¿Oœ¸í8ü|}¯ÖUÍkÍ9®šbäåçÕXÇ¿s·)ç¹¶8nnל¾ """ºS5Ù¤\«…J¥BqI ’ÃÛóÞÅæ­¿ãõW_ psuÅAƒ0oþd^¼ˆÒÒR,Y¾‚B@Ü€Ø:ƒ)õµòðÀ™sçQPXˆ‚ÂB“êuvr°!ƒ1{î<ILByy9RRS‘“›[i»ÓgΠ´´YÙÙ˜ùÎôéÝ ­Ãî..8pèòòóáìì Q±mǨT*|ûÝãÔ!wwÄôë‡wÞ'O¢\§CJj*$I29ŽëZyx :* sÞS§Ï@¥R!1)©ÎÇU©/jˆÂÃB±uÛváØñãØ´eK¥ýoìsχ)ç¹¶8nnל¾ """ºSÉ’€èõzã·=LY$I‚^_ów>^¹ ½úÇ¢OÌ̘ý6Ôj5Ö¹#"ŒÛÌš> :tÀÓÏ>‡¡#À¥¬,¬YµÍÍüÞDmõ Š‹C`€?†Ü? 3fÍ6¹Þo¼Ž¾÷õÁÌ9sÐ7n fÍ™‡ÓgÎTÚfÓ–-ñàÃxòé‰ ÆïÎ3–û8¾^¿³Þ™o//L{m*.Y†á>Œ ééèÚ¥³qÛ9³ÞB×Îxåµ7;xÞ_¼ÅÅÅ&Çq£9³Þ‚‹‹3÷$†Ž|ÇÿþÎÎÎu:®ùx{×ûô×_Ç¥¬, q?æ/\ŒX[ÿ;¥éÆ~$ÉìóQÛy®-ŽªÚ­k_Ý©„ÜÜœj‡6oÞˆ noþúõ_¡]»Žðôô„µµiœˆ¢ˆÜÜœ:ucÆŒ½­öï7w¢±)--…½½}¥éRDDDDtwŠ_…¡CGT[nñ‡Ðƒ‘–– ­V A0mÀE’ ÈÎÎFPPˆ…££úТE‹†ˆˆˆˆš‹' mÛ¶‡$páB*ÔjµIûØÙÙ! mÛ¶¯}c"""""j2,ž€8::¢C‡„„„×ú\ÇuVVVP*•¼³NDDDDt‡±x"ààà`é¦îXGl興ˆˆˆê…,oÁ""""""˜€‘Œ˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l˜€‘l¬kÛ >~•qÑ]@ÈÍÍ‘:"""""º;p Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ Ɇ ÉÆº¡ """¢êI’„3gN#;û´ZmC‡ÓdÙÚÚÂÇÇ­[· •ÊØÇõ£¦>¾‘››#ÉÕÁ™3§QZZŠèè^°·oÑÐá4Yee¥Ø¿/Z´p@›6m+•±ëGM}|#Ž€5bYY3:Z핆§ÉR(èÖ­;vìØ~ËÅ1û¸~ÔÔÇ•¶“1&""""ª#­V A CC‡Ò¤]í?¡Ê)VìãúQS߈# DDDDœ^¯oèî5õ#û¸~˜Ò!"""""Ùp„ˆˆˆ¨‘“$¾3ÈÒØÇòáɆ# DDDDïÎ[ûX>!"""""Ùp„ˆˆˆ¨‘ãÝyËcˇ Ñ]È`0à÷í`ÏþHKO‡$n®®èÚ¹&NxªAcþà#xÞ´kÛ¦Aã›Á`À¯›~ÃÃ!==ÞÞžèÇF?‚fÍš·{mú[ˆêÑÜ?¸î»~ÂÏ¿nÄÒ… àåéÙᛌ Q#Wßwçõz=æÎ³²ðôSO¢Mxk888àÒ¥KÈÊÎn£VVV²ÆÑÐǬ×ë1wÁÈÈÈÄsÏLBÇí‘z! «×®AÒÑã˜÷öL8:8¬¬¬acccŒù¯ÄD|óÝ,[ô>|¼½ý7M˜€5rõ}q¼uûÈÎÉÅ7k×B’ô¨¨!I„…† Mëph4šzmÏ’$oRÐÐ Èö?wâ|J*¾^³Í›7CEEºDtÄ'+V`òK/ã»ïÀÓO7n½.^º„EKWàåžCXHt:]ĉ˜€Ýe~þužø44š²JÞ7ß9ÿáç_°wÿA\ÊÊ‚“£†‚Q#†;<øöì;€¬ìlxyzbÊóÏ",4ÀÕéD?þ²»öàÊ•+´©ÿ³“4 V®ŽGbòQX[Y£O¯hŒ{üQX[ß½—¦?þü+Æ}‚hµZWχ èðìÄ x}úL<>f4”J¥qUi)æ-ø±1ý1(n@£HMq÷že"""¢&¢>ïÎkµZ\Î˃¿Ÿ/ CÛöŽŽFlÿþðôôă‡0{îÞ^Eú÷틌̋€²²2lù}f¾9 >Þ^Ðj5 €$I¸RPˆC%bò¤ÿƒ(аRˆíßIÇŽY怛€+W®œœª,—$ -ÝÜPPX`\w)+ Ÿ<…ÁƒâŒ#&MG@ˆˆˆˆ¹ú¼;ßÊ ;;ÁA5n›•ï¾ÿ§ÏžGII T¥¥0Hzc<:]¹ñ™‡¨¨¨€$IÈÎÉ… puq6–_¿³Ÿ›{0á™çŒíèõzøûùV:NIº{F@Ü[¶\Î˃¯÷-å¢(¢ °îîÆ8ƒ‚‚🎱ü£ÿÂÇË þ²Æ|;˜€ÝE¬¬¬àëãƒÿýýw ˆ^¯Çko¾…Áã0aü“hÙÒÏ<ÿ"¡Êí †§‰z¢(B+ PTžpco¯„••þØ++«Ú‘ŸŸ;‡Öd)•Jx¸»ãÔéÓU& g΃$Iðõþ·Ì`0 ¶_œ>{ó.Æ¢ï¡E £6§`5r×Gêc1 xrìcøöû¯Ü­jIKOGiYž7ŽÐj®?cðïÈÄõ71]]þÕÛË ƒg¯]8߸xx´‚$IøsçNääd—¼¼¼J£Cýó‹}\×E¯×ã±1£±þ‡Q\¢ªT¦Óéðå×ëqÿðahÞ¼Ù Ç A­VãÅçž…‹‹ -[½^ß Çaê¨"""¢»LtTzGß‹W^?þò+ÎOAaaΜ;‡ïú’$ÁÅÅ¢(bëö?P\\ŒM›·"óâE“êwvrBß>}ðßUŸã|J tȼx’$ÁÞN‰Áãðѧ«ð÷‰SÐétȼxùמƒgg$;Š‚Â"KuA£30¶?‚ñÆŒ™8ô×_ÈËÏÇÑcÇ1óyÐhµxâ±G«|i€F­Æ¼·g!=#_}»¾"¯;NÁ""""jäj{[U]i4jL}*¢ï¦Í[°ióVh´Z¸·tC·ÈHTTTÀÍÕ ¯¾<Ÿ¯Y‹Õk¿À}½£Ñ9¢ É$*ýùz¬ƒ¯½2«VÇcÁ¢¥(ו#8(¯¾ôðâäg°zÝ—øðÓOPR¢‚Ÿ¯5n®®€GG?‚Õk×âÌÙs˜ù愪§}Õ§úîãºÒjµX´à]|÷ýøeÓf¤gdÀÛÓ ÝºEbÒ„§ R•Všævãy°¶²Â»ïÌÆKÿ™Šà @ÜÛ³g…i„ÜÜœ†ÿÔ%UióæèÓ§ŸEê¶³³ƒ=lll PE=Ê˵(..†$IhÑ¢66Ö(+SC­.ƒ/®\ÉGyy9 Y³æpwwGVÖ%€B¡€““lmm! èt:À`0@„keJ( ˆbT*•ñ;ppp„N§Ã•+õû\Èž=»0tèˆJë,ÙÇuåàà¥R kkèõ"´Úr””WšÚäîî­V•Je\×¼ys´léŽÂXT_¹–IDATÂBh4 ûJÞªúøF!"""jäL™Wo޲²2”••U[®R©*]äÞèÒ¥ÊÓ±Ê˵•ÖéõzV¹¯$I(**Põ«’’”””Ô}ý²Tו)Çž—wù–uZ­ö–sÒX1!"""jäËÅñŒ},& DDDDÜõç+ÈrØÇòaBDDDÔÈñî¼å±åĈˆˆ¨‘3xqliìcù0!"""jäxwÞòØÇòaBDDDÔÈñùËcˇ Q#Ç»ó–Ç>–"""¢FÌÖÖåååhÖ¬YC‡Òäétå°µµ½e=û¸þT×Ç7bBDDDÔˆùøø!## þþ¼@¾ :iðõõ¿¥Œ}\?jêã1!"""jÄZ·nAΟ? ­VÛÐá4Y¶¶¶ðõõCxxë[ÊØÇõ£¦>¾‘››Ã oDDDDD$ EC@DDDDDw& ÿß~ ò·žÅ®²Ø°`# ÀF@€M¤¾‹xæU—»IEND®B`‚danfruehauf-NetworkManager-ssh-f65d65d/metainfo/ssh.png000066400000000000000000001570631507335542500232760ustar00rootroot00000000000000‰PNG  IHDR  ÛphsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwxÕþÇñ÷n’MHBz!! ¡÷Þ;(Š*ØQAôz+W»WQäÚÛU£üD®ŠôÞ[h!”ZH¯›Ýß•’Ý Ÿ×óìódÏœ9ó™åa¾sΙ1PÄDvéÒeàþóŸ'7næìììd0© «ÕŠÙl.Œ‹‹;vë­·>½eË–å@<`5P”|´úì³Ï^¾ñƇ›Íf, ‹Å¡A‹ˆˆˆˆÈåËh4b4qvvæóÏ?ÿ¿Ûn»m&°Ç ˆúì³Ï^»þúë‡çååa±X°Z­ŽŽWDDDDD.cV«‹ÅBaa!íÚµkÚ¬Y³Fß}÷ÝZC÷îÝ'¬X±bAAAÆ[‰ˆˆˆˆH­0™LÖž={Ž7ìØ±ã`ãÆ£ˆˆˆˆˆüµ:´oÇ#Ó§pâäIRΞ¥Qx8îîî¥Ö« V«•Ÿþïg¾‹‰áÈÑ£ F‚éÒ©#÷Ož„ÉdªT>ƒ†Ð("‚O?ú°Xû7oæÁ‡±íÿÅn¾c<ñGްhÁ{4mҤزi?†M›éÙ½;kׯ·•{zzÒ 8ˆáC‡rý¨ë0™Šžì~þÜÜ=þNÆßq{±¶®½þFòóóù9æûš:tuŠ#C""uz@Dä²ç^¯úõ-öiݪe¥ÖÍÍÍ%)9™#GÚʾúö¿ÜuïdvïÝ[n½ÚðÅW_ó¿^&îpýŒÄ¤¤KŠërãÈ߈H]§¹ìóü3OWk]__~øú+êÕs«‘z—ê§Ÿ—àääÄ/¢Ap0‹…3))UªS]ƒäƒ±|åJ&Ž¿ÓV¾iË è߯/FCÑÓÛo7Žþ}ûpòÔ)nºýN~^ú?f<8ù:F£‘¼ü|æ¿ñsŸö’㻜Ùë7$"RSz D»¶mxqÎ3øøø–žÎ?žœÍÖmÛYóÇïÕjW ˆˆü¥eeeñÆ;ï²vÝzòóóñóó+¶ïe¦ÏœÅú xð¡GèÕ³Ï=ýT±zyùù :œ¡CsêÔiöíß»‡;×]s ão¿ ƒÁ@ZZ¯¾ñ&6mÆÍÍ•vmÚ°yë6®6´ÔáOV«ƒÁ@Ff¦-¹0T©NuE6Š qT‡â“˜HÃÐPÛ«ýú±eÛ¶ë@Bb"¶ž˜ˆðp|¼½Yµf «Ö¬¡O¯^•Š#;'‡wß_Àšµë8“’BP` C äî ãK,OMM%::šIwßEÇöí+<7ù•:wóßx‹u7âââL®]™2yÞ^^ÆWÙßÐ¥îÇù$OD¤¶DEF²cç.˜ñoÌ{ƒÁÀÔ‡áÀÁƒ4Šˆ¨v»‚%"—½'OòÄÓsŠ}RSS±Z­<úÄ“Äü´˜Ö­ZrËMã )·­Ñ×^KçNsݵÌxp*£®¹¦Ìúÿûíwòòó>t(ù,Xø{öÆbµZyä³ô×ßhצ5×^}5gϦræÌ™r·?xà@Ìf3î™Ä㳟b݆ V¹NYÇå£ÿ|Rîöèü9 Ëjµ²vÝz¼½½i×¶M±ºyyy=vŒo¾ûž£ÇŽÑ´It±a`ƒ‡¦=ˆÑhdþo‘——Wáö­V+Ï~Šoþûaa ¹{ÂxúôîEvvv‰å-š7㦱7r<á8÷O›Aì¾ý¶vÊ:7-·X,<ôè?øcÅ ®<ˆݺñ¿,åù—æV*¾Êþ†jj?DDjË«ÿz‰°†¡Š;Ì3âqààAB4`Þܫݮz@Dä²—ÍoË–+»ïÞ»IHLbó–­ôíÝË6D«uË–¬^³¶Ì¶úöîŶ;ؼe+ýúö¡kçÎ@QOIiÚ´nÍ¿ß|€ÐÐÞ|ç]víÙƒÅRÈ®Ý{èÝ«'/ÌyƒÁ@«–-ظys¹û2þöÛøìË/Y¶|Ë–¯ ah(³žA—N*]§¬ãRƒ äý…±|ÅJn{#‡ãã9qò$׌¸ '''[½Çžx²Øzîõê1}ê%Ú‹nÅõ£®ã«oÿËÇŸ}^lhWib÷ícý†téÔ‰Wç¾TâNÿùå=»wgÎì'1 têØ)NgÑ'ŸòÔeŸ›&M¢Ë]ž——Çž½{uíHfœÛŸS§O³rõÒ32HHH(7¾Êþ†.u?*;ÏID¤º‚ysþ«Ü?m:‡âÐ 8˜×ç½LHƒÕnW ˆˆ\ö¢"#K<í `Óæ-tíÒÅNq4 ==ÃñGèÞ¥K•†ÊFîºón{#ËW®â»˜Ù¹k3ÿñO>ûh! WªNQ<%Ëù§`•'"<œ¦ÑÑìÚ³‡3))¬YW4üj@¿¾ÅêµiÝŠ ðôô¤it4ýúöÁÏ×·Ô6'Ž¿“ÿýþ;Ÿ|þÇ-wû‡ÇЯOïRÝùå={t·-ïЮnnnŠ‹+µÍ ÏMEËã»ï~ˆá»bŠÕKLLª0¾Êªý©i.Î.¸ººþùÝÅW“k9kTL ˆˆüeŒE£LŒömzþ"Òjµb<×SpaAUÔ«WáC¯`ØCxõõ7øæ»ïÙ´e W_ue•êT× 8pè+W¯aíºõ¸»»Ó¹cÇbu.œ„^OOO¦Ü{/Ͼøó^{+Ö ×±Z˨s®ü⋃œK?Þž›Š–{Õ/šçqý¨ëØ¿±záa<—”_eÕÂ~ˆˆÔ¤3))<0ý!â±Íù8rô(Ìxˆ7çÏÃÿ¢y••¥9 "ò—ÕøÜÝâÍ[KNš.Ïù„%++ÛîÛÞ¸y3Ù99ÅÊÎÝñôô¬tKuþq¼?/ù…í;wÒ§WÏK~Äïð¡WжukÖmØÀéÓeÏ…‰nÀ+V–úŽ—óË×mØ`»ß½g/99¹4Žj|I1BQÏ@bR;´/öqww¯0>¨Üo¨¶÷CDäR=4ë1[òñæüy¼9""8rô(3f>ZívÕ""—½ó“­/Ô¶Mkn=ŠÎ:òû0{Ž‘Íš±ªœùç…†MT÷ýfÛŽ¤¥¥U*>¨ÜoÈû!"r)Öüñ;‹¼Wl¨•¿Ÿ‹¼Wíw€2335TDÄ~[¶Œ'žžÃ}÷Þí7st8"""¡;Ù´y+ÏÍ1ù;Ò‘ZòÄÓspu5É¡¸8–,ýÍš6¥G÷nŽMDDÄa”€ˆˆÔ‚ÂÂBê{z°oÿ–-_·7#¯Áä{îÆh§Ç‹ˆˆÔEš""""""v£Ûp"""""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""vãl±XƒˆˆˆˆˆüM8ggg;:ù›pÎÈHst """""ò7á¼bÅŽŽADDDDDþ& ÉÉIzºˆˆˆˆˆØ…ž‚%"""""v£DDDDDDìF ˆˆˆˆˆˆØ±gG uÕj%6v/‰‰ÇÉÍÍut8""""rqss£aÃpš7oÁ`(±\OÁ’bc÷röìYZ´hÉäêèpDDDDä2’ŸŸGlì^|}ýhÑ¢e‰åꑎ1xð0ÜÝë9:¹ ùúúñÛoK•€Håäææàè0DDDDä2åîîQæP~MB»Q""""""v£DDDDDDìFs@¤T¥=2MDDDDäR©DDDDDDìF ˆˆˆˆˆˆØ±›r‹Å‹æáÇgô¸›=îfî¾ïÞ}½â«Q‹…/¿þ†³©©Žå/!33“‡zˆÈÈHÜÝÝiÚ´)=ôYYYUªÓ¯_?^yå•R·Á·ß~[ê²k®¹†Áƒ—ºlРAL™2ÅÖ¾““NNN˜L&"##yà8{öl±<==‰/ÑÖ 7ÜÀ#kñ’_8žÀûo½I½zn¶òà  »VÌf,‹í»Wýú|¾h¡#úë°Z­ÄÄÄðÕW_1pà@ÂÃÃéÕ«W•ê\Šk®¹€_~ù…qãÆÙÊ—,Y‚——ýúõ³•yxxõª2nÜ8, FcQ~÷Ýw³páB–,YÂðáÃk$ƺ,??ŸÂÂBÛwŽ;æÀˆDDDäï Ì¯¿ýŽÛn¾©XòQšü‚Þûp!·ßu£ÇÝÌcOÎæxB‚mùµ7ŒåËo¾eòÔi\=úî™2•ýTzyvv6ÿzõ5n¼õvn¾c<︳Ùl[n±Xøâëo˜8ù~®»a3f=ÆÙÔTŸý _~ó-kÖ­gøÈQ 9ŠÂÂB†Å¡¸Ã5ûÅ*ªÿå7ßr߃ӹzô Ürç]|ýßï‹­ûᢹuÂDF½™Wßx‹5ëÖóàÃ3¹ö†±LäQ’/SÞqÉÏÏçλ'ñÃ?•{î.•““›7o¾ä:ÕåïïOÿþý‰‰‰)VÃÈ‘#qqq)7.«ÕZ,Amܸ1³fÍbêÔ©äææV:ŽÂÂB^|ñEÚ¶m‹ ° cÊÍÍå‘G¡I“&øûû3|øpöíÛg[×ÛÛ›¹sçÒ¹sg<==iß¾=7n¬ôòôôtÆOHHÌœ9“üüü c1bsçÎ%&&“É„ÉdÂl6c2™Ø¶m[Ä."""RšRÜÜ\Nœzï]B4`úÌÇÈÉ)º€3› 9}&…i÷ßÇ'. ah^ûß¶õ+Z>wÞ|222yÿ­7x}Þ+¬]¿~\l[þþÂX±j5LŸÊ' ?à®;nÇÇÛ›çž~’±×¡Wî,‰ùŽ%1ßáääT£±_¬¢úݺtaæŒi|þŸ…Lï¸C‡ÛÖ-,,dÞK/0ï¥Xúëo|ýíwL» Ÿ.ü‚‚}üi¥Ž‹³³3­[µ 44¤ÂóW]ƒ'Ÿ|’þóŸÜrË-ìÝ»·ZuÎËÉÉ!55µÄç¡4cÆŒaÉ’%PPPÀ/¿ü˜1cJÔµZ­äææ²eËž~úi†гsñNÀ™3gb±Xxùå—+s˜5kß|ó |ð‡æ¹çž#è\Oáý÷ßϯ¿þÊ?üÀ¾}ûhܸ1ýû÷'33ÓoBBï¼óqqqDGGóÀØÚ®hùwÜAJJ ;vì`íÚµüøã¼õÖ[ƶxñbfΜÉÈ‘#ÉÏÏ'??¿Ä±¸ÔØEDDDJSjrúÌ|||Ê]9--ÿýö;S§L¦QD^^^ÜwÏÝ8;;ñÇŠ¶z}{õ¤y³føøx3°?â)ÖNYËOŸ9Úuë™8þv¼½½ ð÷£_ŸÞ¬;w—533‹~\ÌÃÓ¤y³fxzzкUËJ½D¯¦b¿Xyõ£"Ù¨õ==Ø¿A9rÔ¶¼{×.Ùˆ¦M¢iÛ¦5Q‘ðôô gîÄ› ]Ñq1<2}];w®ð8”Å`0Tø™:u*ëׯçĉ´mÛ–±cDzcÇŽ*×¢ùþþþ%>IIIåÆsÝuבžžÎªU«0 ¬\¹’ÂÂB† R¬ý™3gâì쌇‡#FŒ cÇŽ,Z´¨XwwwæÏŸÏ /¼@|||…Ç --·Þz‹… Ò½{wüüüèÓ§F£‘Ó§O³hÑ"ÞyçÚ´iC`` ¯¿þ:...|ùå—¶íŽ=šîÝ»ÌM7ÝÄ®]»ŠÅUÖò„„bbbxñÅ ",,Œn¸Å‹W[YûsþX×Dìúè£>úè£ÏßûS–Rç€b0HN>Aý&že®|}:ßÿ}¹u÷ïßÁ` M›6¥.srr¢[·n¶2zôèÁþýûKm/44´Øªò–87¼¯ó‰¦Ùl¦Ù¹ßty±U¤6b2“ÉDhH[¶n¥i“è2W¾àú¸ƒ †Kň››+NNNÄ|óe‰áSyç&ÑZË ¤µûÅÌf3Sg<ƒñÔ?Ã××—éýòkŽŸ»Û^š† C(,,ä`\œ­¬°°Ø}hQõ^‰‹…„„`µZÙ¹kw©ËCCB±X,Äî+ýެÑh$//Ï!±_,îða223¹ó¶[ˆ§¾§g¹]Så©è¸8ŠÁ` ,,¬ÜýªLª=z4qqq|ûí·$&&rå•W^r›ÑÑÑÌš5‹iÓ¦‘““Sf½&MšPXXÈúõëK,kÚ´)f³™-[¶ØÊÌf36l U«V5£ÅbaÅC+MÄÏÎÎ.uYmÇ."""_e& ƒ G·®Lž:/¾þ†Ø}û9s&…Ý{÷òÙ—_cµZñõñaЀþ¼öæÛ$$&’••Åû.Ä`4пߥßÝöª_ŸÁðÊko°}ÇNòóó‰?r„“§NàïGŸ^=yõ·Ø·?ùÄ9b»{àïÏÁ¸ÃœMM-ñòÁÚŽ½Ä¾xya6›Y¾jõ¹¹+?•9ԫ¶*8.‹…W^{ƒÍ[¶Õä.“››Ë¤I“X¼x1ÇŽ#..ŽW_}•E‹qÛm·UºNMˆŒŒ¤S§NLŸ>aÆáéYö°Áª˜5k‹…%K–”Y§aÆŒ=š{ï½— 6››Ë®]»°Z­sË-·0yòd8@ZZ3gÎÄh4rã7^r|þþþÜvÛmLœ8‘eË–‘““î]»8zôh…±_¾mÛ6Nœ8Qâ僵»ˆˆˆü}•™€F{ä!¦=0…í;w2{ÎsÜyÏ$^™ÿiii¶÷L»ÿ>Z6oÎ#ý“;&ÞKRò æ½ô¦rZSï›DÏÝù×ü׸á–Ûxyþ8xȶü¡ më–<ýÜ Œ»íÞ~o ìßð°Pn¿ëæ¾òj‰¶k;ö 5fʤ{x÷ýïdŽ?N›ÖÕ¿“\Þq1›ÍìØ¹‹cÇkïéééF¦OŸNóæÍéÖ­K–,!&&†AƒUºNM=z4 Å^>x©êÕ«Çk¯½Vᓸ>øàúôéØ1chذ!Ó¦Mã̹9¼ûî»ôèуÁƒÓ¤IâââX¾|y‰9*ÕõÖ[o1räH&L˜@pp0wÝuW±Ç—Û¸qãhÞ¼9ÑÑÑÜ~ûí%Ú®íØEDDäïÉœœTõ ò—¶xq ãÇßíè0DDDDä2¶páûŒ1²D¹f“ŠˆˆˆˆˆÝ(»)õ1¼"5ù”*‘óÔ""""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@¤777²²²†ˆˆˆˆ\¦²²2qss+u™)¡aÃpV¯^AVV¦£C‘ËLVV&«V­ ,,¢Ôå†ää$«c’:Îjµ²,Ç#77×ÑለˆˆÈeÄÍͰ°pš5kQê»å”€ˆˆˆˆˆˆÝh–ˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ8—V¸xqŒ½ã‘¿˜#F–(+5èØ±s­#"""""][·n.µ\C°DDDDDÄn”€ˆˆˆˆˆˆÝ(»)sˆ8^FFnnnì?xˆ‚‚Z·lQå¿÷îÛÅb¡]›ÖìÚ³·JïØµ€íÚ²mÇÎrÿnß¶ »öĆ·w}Ç0©ó ÉÉIÖ‹ /ŽÑ$ô:`çî=DGEâîîîèP*%--ƒ¬ì,BC8:q°­[7Wí)XâXV«• ÀÀË&ùðö®¹°ÀÑaˆˆˆˆH¦9 u”Á` °°ÐÑaTٱ㠎ADDDDê0% uØÉS§B•ùûù9:©Ã”€Ôaáa B•¹»×st""""R‡)©Ã²³sB•i–ˆˆˆˆ”G Hv&%ÅÑ!T™†`‰ˆˆˆHyìþ,«ÕJbÒ Nž:EFf`Ž^=‚ƒ iŒ³sÝ}0—ÅbaÙŠÕxÕ¯O×Îj}{ ÁúÇì9$&%ñÌÿ "<¬Ø²—ç¿Î®=±ÅÞçàîŸ/½ztgÈÀþ¸¸¸0þÞ)X­VF¼š‘W_U¬­é3ÿAAAo¾ú¯ c¶×¬ßþX‰§‡;Ý»væpüQââØ–9;;ãæêJƒA„7 Åh¬Zž½'vIÉ'1 ì×»Ìz‰I'8ž˜hë©rssÅ×Ç›¦Ñ+µÍ¼¼<òòóñpwÇÉÉ©ÜòÂÂB6mÙ†7Í›6©Òþ\®jã§gdpààa222prvÆÛË‹èÆð(ãis:Ç"""5Ï®= … [·ï$vÿRÓÒq¯Ww²²sØ0Ž'OÛ3œ:¯¢!Xݺt`óÖmÅÊssóˆÝ_"#Ý8ŠÎÛàOrò ¾üæ¿|ñõK´ùãÿ-áÔé3ÕŽÙ‘C°¼¼¼ ð§^=7²sr8xè0®Riéé$%Ÿ¬°ÞÑcÇÙ»o?YYÙxzxàíUŸ‚‚ÒÒ2*}1|ôx"7o#-=£ÂòÂÂBrrr/Ëay5éRÎqzF[·ï$-=êÕsåô™3šÍ¥Ö×9©vínˆ?ÊÙÔ4üýühÕ¢)&“ (êY8qò$ÁAAö §Î;“’Rn/H·.ùþÇÅlÞºQ#¯¶•ïÝ·³ÙLçN0 \5l(;¶ ål*=ù4«×­çÖ›nÄp®ŽÑh¤ÀlæÓ/¾fÚý“ª³#‡`EF„à@n^>ë6l"éÄ š7‹®tûöÀÙÙ ‹¥Ä;:m’’O`0èÙ½ n®®¶ò¼¼¼jF_>“ÉDïžÝqvvª¸ò_Ø¥œãc6Ò±][üü|€¢óåzÁù»Î±ˆˆHí°[b6›9rì8&“‰¶­[Ž`4 iPüíÙì?Ç™”³ü|ýhÚ$ ggÛP¨ÁAäåå‘‘™‰““ CBˆŠŒ¨ôúÁAdeç“M``­[6çÈÑãœ<}†¬ÌLœ]\ ð«ôp‹šVѬЄ5 åxB"'O}.8 IDAT"(0€í;wÐ¥cGb÷ï/±žŸ¯~¾>œ8y ³Ùl†Õ 8˜úžžlÛ±ƒm;vС]»*Ç\Wž‚åæjÂÍÕDvN.‹… ›·’••MŸžÝqu-J|×mÜLnN.}ûôÄÉh$!1™ŒÌL†pöl*9¹e_hZÏå&悸àâô‹Ùò~ƒ[·ï"åìY¶n/:_þ~X,ÖRËÛ¶nÉŠÕkñõõ¡Sû¶Uú7’r£“>Þ^¤œM%¤AMGp ¸íæ± >ýâk ªþVsG?Ëb±•Ãñ„$²²sðôôÀh4À™s~¹yydeeãïï“ÑHA™Cq‡qqq¦qTd…Û  Äjµ²aó6vîÞË™”¬Ö?{L*ú †7 Å×§èB8,4”æM›Ð04¤Ìò²”õo`ÛÎ=$Ÿ8‰·· C‚ÉÏÏ'??ß¶nFF&û¤°ÐBxX(^^õëô¬óªsŽsÏõZ899±eÛþX¹†µ6ôX±óv!c‘Úa·ÿ‰²s²¨çæf+Û¾s7§Ïüù¤'o/:wlÏÙÔ4ÒÒ3kb»ˆÎÍËçôé Ì89‹Õ‡¢É¡&--³¹°Rë{{yѦU‹bqžïu°Z­ø°zízÒÒÒkãT¨¢!X]»tæ¿1?±eë6®:„„Ä$RΞ¥_Ÿ^ÅzmÞxçßÅÖ«çæÊ-ãn,Ñ^XÃP®4€¥¿-ã§Ÿ)6´«29kÇ®=ž;;;ѼIÑdÞà @ÇåÌ™B“rî cÁAE­qññ˜Í4oK%.Т"#°båè±Nž:ÍÉS§qss£Uó¦øúúTøðãlZgSS ôÇÏ÷Ï»ò¥•[,–Rã(ë߀Åb%==?Úµi€—W*)gSmëÍ}ðöò$:*Ò6¯.«î9ÎË+º(OLJÆdrÁÛ«>銋Ç`0Ð袇8€Î±ˆˆHm±[âj*J£#0ÀŸ6­Z`4ÉÈÌbæ-$&(5c‘Ú`·ÄÓ³è¢ÿä©34Žl„³³3‘Â?o{ÞùaAa ClóÎ+û÷Ï¡Õ[233Ùµ'wwwZµhF=776ÚäÙÙ9øW¢C¡k—N=~œ­Ûw°cç.ÜÜÜhÙ¼Y±:NB¯ˆ»»;7ŽÅ‚þÃ'Ÿ…•²'c_ìØñ‡õ‚\8A¹4 ‚9t8žÔÔ¢»Ïþ~899wøV«•̬l~_¾ªØ:¿ý±’NÚáëã]j›NNN4¢ApûäxB)©iÕþ ^š?ÏÓùÝʾãíääD·.9|ä(‰‰ÉÄ=Fò‰tëÚ¹R½@ŽPÝsìæZtÄË«¾­g°¾§nnnä]pS¤4:Ç"""5Ëns@L&¡!!äåå±c÷^róþ§|ñlÏs=¹¹yøúxûTæÎ]u×OKÏ ´A0 ‚ƒð*£‡Àj-}¨DM«ì‹Ï?Žwõšuì;pŽíÛ›ÛQ½zt£itcvîÞMjjZ¥×»øB¬. :7Üêàá#˜Í…¶9žžîúûœÿú—z,SΦb6+;?„ÆÙɹR¿Áó—·SVyU¸»Ý)?[ι³Z­899Ѥq}zu'¤A0¹yù¤¤¤–¹N]WÖ9öö®««+ÉÉ'mÇ5+;‡¼¼<ÜËèÕ9©v½Ö4:’ÌÌ ÎžMeíúxz¸cr5‘‘‘`»3éááA€¿?§ÏœaûÎÝøx{“—ŸO=7×J KªîúõêÝ%MJNÆÙÙ™³©Åÿ“6˜L&²²sˆ?zŒ°ÐZÐY™} ¢QD8ÅйcÇ Ö¨˜ÑhäÖ›Æòôó/•96½4uù¢îõêQßÓƒôôtŒF#纗¢£"KÔ]·a9¹y´mݪIJ¼¼<¶íØ…Á` ~}œœÉÌÊ"//777ü|½qvv®ð7X¯^Ñ]ò¸Ã‡ÉÌÊ+4ŽjTjùùÞÂÊòöª¯'Ob×ðªïÉ©ÓÅÚ3))ìÝw_êÕ«g»­W¯ì'CÕuec€Æ‘ìÝw€u7á^ÏÔ´4¬Vk©Ã¯tŽEDDj]Ÿ-ëììL—NhÖ¤1Þ^õÉÉÉ%--W“‰è¨HÛDJ€6­šÖ̬lÇ!55ü*<•©:ëûùúA~™ƒqqZJ¼!¹è­Ë’’O›ÏRªòB²óOÃrqv¦më–5²ýFá ì×·Jë$&%×ȶkKPPQ¿Ÿ_µÇÁŒF¢EàáîNvvgSÓ0 „7 ¥sÇö¶¤´¢ß`ƒà@‚ƒÉ/(8÷à¬rË«ª]›–4 !--ø£Ç(,,>—ÉÉ脇»)gS9v<g''ZµhŽWýÒ{þ.eãдlÞ W“‰ôŒ ê{zЮM+‚ƒJöÚ鋈ˆÔCrrR‰þ‹ÇбcgGÄ#ضc'ÚµutU’˜”LhHƒŠ+ŠÝ8yŠ]{biUæ¤k¹¼é‹ˆH]²uëfFŒY¢ÜþoדJ«ì¬º¤.Áú»;?¤ðâ^=ùëÐ9‘˃R‡edd:ô½Õ‘˜”\§'¢ÿìÚ‹ÑhÄÃÝ̬,’Oœ¤~}Ïbó"äò¦s,""—#% uXjZåŸ>UW(ù¨Šž~äLff&'OÆäâBhHšDG9:4©!:Ç""r¹RR‡E6ŠptU¦!XuƒÁ` eó&ŽCj‘αˆˆ\®4¤«Êû7ꊺþ,q,% u˜†`‰ˆˆˆÈ_:ìr‚uñ›íEDDDDÎSR‡eff‘žžáè0*-;;›'Oa0ŠˆˆˆˆÔQš„^‡Õ÷¬Ï±ã ´lÑŒ»vС][¶í؉Ñh¤M«–ìØµ»Ê»¸¸Ð¬I4»÷ÆVúïÆQQìÛ¿7W75Š(õï¨È"#Â|ÔDDDD¤.Ó›ÐEDDDD¤Æ•õ&tõ€Ô!ÿ\QßÑ!ÔŠgû]>ÃÈDDDD¤viˆˆˆˆˆˆØM™= [·n¶gÀGP+ô[‘óÊL@&L¸Çžq0ÁÑÔšfŽ@DDDDììÃß+µ\C°DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØ±çšnÐb±ðßïà¿ýNìþýX-ÂÃùrØP®½zõëׯéMÖ˜¼ü|ºõîKÛ6­ùdᇎGDDDDä/§FÜÜ\¦L›Î¦Í[puu¥E³f8;;³ïÀþ5ïUÜ\]¹~ô¨šÜ¤ˆˆˆˆˆ\Fj4ù÷²ióz÷ìɳOÍÆÏÏ(êYøù—¥Œ>¬&7'"""""—™K@222Xôñ'ð¯žÃÃÃöÌÕdâºk®.V?55•¹¯¼Êêuëpqq¦wLp*>ÞÞ¶¡PW ÆÉ“§Ø‹»‡;7ŒÍ=wMÀ`0TjýáC¯àðáxŽ;Æ ýyaÎ3|ôñ'ü¶lûÄ«~}Àô§âj2ÕÔ¡‘2ÔØ$ôƒ‡â(,,dèÁÅ’ÒX,¦L›Á¯¿ÿΕÆһgObÿ³Ÿ™S¬ÞÏ¿,%7/«¯ºŠ‚üÞþ÷{ìÚ½§Òë/_¹ŠÈÈH:¶o‡×¹¹'...ôèÖéS i“&|þÕ×,úÏÇ5uDDDDD¤5ÖräØ1††ÚÊîŸ>ƒ•«VÛ¾whßžE Þcó–­ìÚ½›¯ã?ÀÉS§øcÅJÒÒÓqss }»v,Zð^Q» C™÷Úëlß¹“ÜÜÜJ­ß±C{æ>ÿl±8o7(J‚öïÇÐ×°eûöš: """""RŽK@‚ƒ‚HHL´•ulßW“ ‹ÅÂï,·•ÇÅà«o¾å«o¾-ÖNBB"ÑÑK´Ý8 €´´´j­Þ/ÿû,\ÄÁ¸¢€ÌÌÌJ杻ˆˆˆˆT_% M›Dðëo¿sß=wS¿~}îºóàÏÇÛžçíå ÀM7ÞÀAƒŠµÓ("¼Ôö V«µZëì;p€Y?Ad£FÌyêIB„pçÝ÷Te7EDDDDäÔXàïÏõ£®ã›ï¾ç¡Y1ç©'m½"–s= çE7.ê¡8ž@—ÎJ´•—Ÿ_»þλ°Z­\7òF në¹X~~A¹Û‘ê©ÑÇðNŸú{÷ígýÆ\=j M›4!0ÀŸØ}ûpsuŠzKú÷íËò•+¹ú :uèÀ™3g µÍÑ(Ou× kÀw?ÄàéáÁ¦-[Š-7¹¸àççËáøx>üh7^?OOÏê¹H= ÀÓÓ“?\À#3¦Ó®Mغm;L™t/ó_žk«ûâ³s¸eÜXŽçß >`óÖ­¤¦¦Vz[ÕY¿{×®Ü;ñ.RÓÒ˜÷ÚëdgçÐ8*Ò¶Ü`0pëM7áâìÌ÷?þıã U="""""RCrr’õâÂÅ‹c˜0As#DDDDD¤z>üð=FŒY¢¼F{@DDDDDDÊ£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìÆÙшˆˆˆH‹ÅÂæÍ9tèÙÙÙŽGwwwš4iF§N]0k¦ïB ˆˆˆˆH±eË&èС&“«£Ã!??ØØ½téÒ­FÚT""""RG<¸Ÿ¯Àݽž£C±ñõõcÙ²_•€ˆˆˆˆüÕdggàè0DŠqw÷¨Ñ!š„."""""v£DDDDDDìF ˆˆˆˆˆˆØæ€ˆˆˆˆÔ!ƒÁÑ!ˆÔ*õ€ˆˆˆˆˆˆÝ(»Q""""""vãð9 V«•~ZÌÏK~aol,£‘ˆð0F\y%£F^ƒ««Þ*"""òWc2™øý÷ßéÓ§£C;shˆÅbaæ?gþo2dÐ@¼û ß{—q7ÞÀ¶íÛ+ÕÆ[ÿ~3­åHEDDDä¯döìÙ\ýõŽãoÉ¡= ?üø›¶lá›Ï?%ÀßßVÞ8*ŠÇWª sAKam…(""""AùùùêÒÚ²`áGL¾ûîbÉGi>\ôÆÞz;ÝúôcØÕ#YôɧLyp:.úË–¯ c÷žtìÞ“ÂÂB²²²xâég8l8W\u5ó^{‚‚[[wL¼§Xû'ßÇ}S§Ù¾[­V®ºv‹þ¹ÜíðÑ"ÆÞz{±¶öíßO¯þÉËÏ'//«Gáó/¿º´%"""R éééŒ?ž"""˜9s&ùùù¬^½WWW6mÚd«?vìX®½öZ¬V+sçÎ¥K—.xzzÉ+¯¼b«ëííÍã?NãÆñóóãž{î!&&†Þ½{ãííMß¾}9|ø°­¾»»;>ø aaa2fÌ«{i¼½½™;w.;wÆÓÓ“öíÛ³qãÆJµ7bÄæÎKLL &“ “É„Ùl®âÑ–êrXHvvÇèÒ¹s…uûöîM¿>½ dÍÚu<úÏ'èѽo½ö*¯½ù‡ãã™ÿò¿lõŸý‹•ÿ~ñ9f3'ÝG`@·Ýr3úõå·ß!-=o//²²³Ù±c' äåçãj2qäèQ’’“éÝ«W¹Û>ô ^ëmŽ;FDx8Kýúãj2a±XèоááaµsEDDD.pÇw`±Xرcùùù 2„¦OŸNïÞ½¹ë®»¸÷Þ{Y¿~=K—.å—_~a×®]¶w\yå•\uÕU„††²téRn¹å† Bûöí)((Àl6óÇ––F—.]Ø»w/ï¾û.ááá 6Œ'Ÿ|’?þ³ÙLÆ Ù¹s'‰‰‰Lž<™+¯¼’­[·b4–¼^^ì¥)(( !!wÞy‡ÈÈH&MšÄ<Àºuë*loñâÅ<öØcÄÆÆòÝwßÕÒÙ²8¬äÔéSøùúØÊ>ÿêkÚwínû<4«hnGÓ&Ñ4‰ŽÆÛË‹+‡ %¤AŠ+µÝ'O²lù ¦=0___‚:d0ËW­ *2’ÐÖ®[Àú èØ¡lݶ €•«×ЩC|¼½ËÝ~ÃÐPÚµmÃÒ_ŠzN–þú+Æ Àh4òìS³és.‘©ˆÁ`¨Ö'!!˜˜^|ñE‚‚‚ ã†n`ñâŶ:/¼ðÉÉÉ<ÿüóL™2…_|‘ððpÛòvíÚѶm[üýý¹é¦›ˆˆˆ`Ïž=¶媫®¢Q£F´k׎Î;Ó¿Úµk‡¯¯/#GŽdçζ¶z÷mÚ´á£>b×®],_¾Ü¶¼*±_ü=z4Ý»w'88˜›nºÉ–LU§=}ÊÿÔ$‡õ€„4h€Ñhäȱcøø%!£¯É•C¯Š&—§¤¤˜”Ä¿ß_À¶;9{ö,iéé˜ Jm÷èÑcņF™Íf"EE?ôþ}û°rõj†½‚•«×ЯoŽ=ÊšµëèÑ­«V¯a@¿¾¶õËÛþð¡Cù!æG&Ž¿“}û÷“r6•Ý»ÕðÑ)ßè|Áè³ÙL³fÍlß}||xíµ×;v,½zõâÞ{ï-ÖF||>>˜Íf~ùõW222øü˯ˆ?rÄÖFpP±ûp&%…3))øx{sõUW2{γlÜ´™¼¼<:DRr²mgggz÷ìÉ›ï¼Kß>½pss£KçμóÞû è×ÏV·¢í\9l(Ÿ~þiéitïÚÕVn±X˜=çYÛ|‘ÚâïïÏm·ÝÆÄ‰Y¶l999ìÚµ‹£GÚêÌ™3???žzê)žþyfÍšERRPtSµ  €¯¾úŠÔÔTÞxã ö•s“¸2¶lÙBZZ‡füøñ\}õÕtèЀÀÀ@–.]JBBB…±[,&NœÈÒ¥KkìX4lØmÛ¶qâÄ Nœ8qIû)UãÐÄ`0ðô“ÿäÎbí† ÜsßýÜ=y ËW®ä¹gžæž»&Ð04”Gy˜Í›Ï5cn .>žN;ØÚ>t(‘"¸êÚQ<þälŸ5“ýûñÄ3Ï0`è0ž|æYöÆÆÛö€þ}9}æ ýz÷¶•õíÝ‹ÓgÎпïŸoä¬hûC "#3“Áâââb+/((`Óæ-ޝÉÃ&"""Rª·Þz‹‘#G2a‚ƒƒ¹ë®»Ø¼y3;wîdþüù¼óÎ;8991iÒ$Z¶lɃ>@TT¯¿þ:3fÌ yóæÄÆÆÒ·oßò6W¡?þ˜-Zзo_Z·nÍçŸn[6cÆ ^{í5&L˜€Õj-7ö¼¼<þøãb/ºž«î±7nÍ›7'::šÛo¿½œ–¤¦’““¬.^Ä ÷”V_Ja±Xråž{ú)zöèîèpDDDä2õá‡ï1~üÝŽ£F¸¸¸°lÙ2úôéSqe©ó.|¿ÊùÁ‡¾Çˆ#K”;´ä¯bÓæ-ÒµKÅï4ù;SR/YÂAqvvØSEDDDD. ºb¾Dyùùüúû2æÍ}ÑÑ¡ˆˆˆÈ_@M¿ôÍ‘jã%vrùSr‰\M&V/ûÍÑaˆˆˆˆÔ)f³ÙÑ!H¥!X"""""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""RG¸»»“••åè0DŠÉÊÊÄÝݽÆÚS""""RG4iҌիW••éèPD€¢äcÕª4mÚ¼ÆÚÔcxEDDDêˆNº°uë&~üñ{²³³Žîîî4mÚŒŽ;×X›J@DDDDê£ÑHçÎÝèܹ›£C©5‚%"""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØM& »÷¤}×î¼·àƒË®¸êjúZé¶’Oœ`÷Þ½deeÕdˆ•’—ŸOû®Ý¹uü„J¯cµZùî‡nºýzö@¯ƒuã8^ü×ËäççWª²ö¹´òììF½‰ç^š[éEDDDD­Vz@,üˆ„ÄÄKjãÓ/¾äæÛïdçîÝ5UíúøÓÏxêÙç8x(ަÑMhÕ²iiilÛ±“ÉT©6ÊÚçÒÊsssIHLäp||MˆˆˆH­r®éF#yùù¼ôò<^Ÿ÷rM7_g}ÿãO899óíׄ4h€Åbáô™3µ²=??_þ·ø'ÜÝëÕJû"""""µ¡ÆÈFðõñaùÊ•,_¹’þ}û–Z/55•¹¯¼Êêuëpqq¦wLp*>ÞÞLžú kÖ®àÞ)зOoŽ;ÎÑcÇXµì7<ÜÝÙ¼u+««+«~ÿ“ÉĪ5k˜òàtn{#>üYÙÙ¼ñö;¬X¹ŠÔÔTš6mÊ÷M¢K§NäåçÓ­w_†½‚Çã9rìƒôç©'þY,V«ÕÊŒ™³øýå<>k&7^?¦ÄþX­ é¶Äh4xIû\XXXjù+/½HßÁCèÞµ+ï½ý¦m_®>Œ“'O±76wwn=š{Á` 55•—^™ÇÚõpss¥cûölØ´™‘#®âÁû§ðÕ7ßòùW_“˜HpPmZ·âùgžÆ`0Tï!""""r‚e0xlæ#F^zyyyy%êX,¦L›Á¯¿ÿΕÆһgObÿ³Ÿ™ÀØë¯§[×.Œ»áz}äan=šA`±Xؾ}7m //Ï6Æç_~EëV-¹ýÖ[8zì('ÝÇž½±¶x–¯\Edd$۷ë~ýñ.üÏÇüþÇrF\y%ÿÏÞ‡EYýÿÎ ŠŒ’æ†;¸/ Џ‹ûúu+5Í%M-KÛ´DÍ,µÒ\J­,w-K飥¦¥¥î ˜¹—¨¸'.¨€ 0óûÜOüYÄO¾×5]‚· IDAT×çÜçœ÷¹óyÏ9ç¾{>Õ#Íy·mÝš¤¤$úôÈ耱ìܽ›ää䇞szåéùiÓfâèܱ#‰wùüËù>r«ÕÊÈ7F±ñçMx×®ÅÓÝ»sýú ®^½jk{üÄ ÞŸöwâïðì3½©]«&Î…œ•|ˆˆˆˆHŽÉñ€JžôéÕ“+W±hé2^zaXŠú°ð>r„^O?EÀèQ\‰Š"(d;7oÝ¿YSÂ`ßþPZø7§Aýú¸¹¹²xé2BÃÃiÔ°ûö‡âæêʵë×Ù·?”ºuêN‘Â…©ãíÅÑcÇØµ{M5â£ÞÇ`0P¯®Ï¿0œ…K–òá”IÔñö⣦ØâKøÇ¡ñ}ûC™ûù<<=<˜0vLº_Æ_ò<ƒe_Í/[¶òË–­”vwçñcñóõÍöœ4ËÒ9ØîU»6ËÎÀݽ³fÏáà¡C$''ñû¡Ã4kÚ„§„Á` fêìÙ·ÏÖöFôMjÕ¨ÁË/¾€ƒÃ#ùç!""""±GöÞáÆâêêÂ’å_qöÜùu§Îœîm÷ñòõÃË×϶ÍèÂ…ô¯W¯VâÅŠN||<¿>LÛ6­©Vµ ûCÈ‹»Ã‘£Çháß“ÉÄŸ§hÒ¸‘-q¨[§ àÏ“'3œƒ%Ù„÷&a±X˜8~NN韷0¼8t[þ‰÷ß{o//Î_¸À+oŒæÒ¥ËÙžóÃð¨X€›7orêôùù¥›Dy×®EÙ2eØüëÚtêÌìÏ>Ï•§‰ˆˆˆÈ¿×#û‰ÛÙÙ™×GŽdÂ{“˜:}V¬¶ºÂO O¯ž´nÙ2E»reˤۧÁ` e ÿ³šÝ{÷‘˜˜HÓÆ(T° K–Åž}ûHNN¦U‹÷X­¶vÿd4pp0e8£ÉHï§ŸbögŸ³2ð;jת™a''':wì@§í™6c&ß~ÇÞýû³=ç‡qÞV«£éÞ|M¦ôçíääΝ¿bÁâŬùa-‹—.cÃÆŸüækŠ.üHb‘ÇË#}açŽð®]›»wõß³+pþÂêÕõIñ)X° &ã½ÐbbRþßÊߟääd,^‚££#õ||hÒ¨!III,\²”‚f3~Ÿ™¨äéÀÎÝ»±þŒ:|„¸¸;xzxfjû÷£Fµjløùg¶‡¤{Ýž}ûˆ‹KQÿ÷ù—B… =ÔœÓ+Ï Ï¿WCö‡…§{ÅbÁÉ©¯Žx™_Ú@—ÎøëÊöíÍö¸"""""ÿôH7ùFƾ5š>žÃb±ØÊ+yzмiS‚·ogÄëoàãí͵k×(UªÏ>Ó€ÒîîÌý|üù'Vàå†áSÇ›"… säèQš5m‚££#µjÖÄÙÙ™#GÒ¡][Û{7ªW«FÃ~„lßAÀÛð¨X‘UÿYÑhdèàA™šƒÉdbò»ïлߦ|8Ÿ:Þ~â‰×\‰ŠbøÈWqpp zÕª*TˆþATÔUJ»»ãç[ggçlÏ9­ò!ƒžËÒÿ‹Õ«Sß·›ý“ÉHõªU Ùžâší;wòÞ”¨ï[÷R¥?ðpï,‰ˆˆˆˆHNx¤+ U«T¡gOmš:e2Ï>Ó›Ó§ÏðåÂE„8@tt´­¾cûöth×–7nðÝš5œ8ñV«“É„óf4mÔ¸—$4ô󠥿¿­ƒÁÀÌiSy¦çÓüýK¿úšreʰtá|*WÊÜ Ü[±yqè®^»Æ´³RÕçspàÅ¡Cð¨XSgN³/4”üùòÓ§w/Ïÿ翟¬•Ý9§U~{Yf >þh=ŸêÁogá’¥Äüç; (€‡GEvïÝÇŠ•«0›˜òîDjT«–¥±DDDDDÒc¸|ùRªo²6¬cðàai]/ÿ"›~ù…·Æ½Ík#G0h@ÿÜGDDDDþE/žO§N]R•?òÉ»öî»w¶Ãóïó)"""""š^ôðykÜÛ8:æÇ£bEþ”€<&L&ÆÍí0DDDDä1§Ÿ¾EDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØÃ+"""’GX,ÂÂöñ'qqq¹Žf³OÏÊøøÔ˱wÇ)É#ÂÃC¹páÞÞ>äÏï˜Ûáˆp÷nÇ ^½ú9Ò§‘<âäÉ?hÑ¢ f³Sn‡"bãââʶm¿*ù·‰‹‹£hÑ¢¹†H fsÁݨCè"""""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝè ˆˆˆˆHb0r;‘GJ+ """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝäj2pÈ0¼|ýðòõçA#º<Õ“ù q÷îÝÜ ë¡Íœ=‡QclÿsžuüÒ®s>üh:·nÝΰ¯EK—áåëÇÚÌðÚ³çÎãåëGttt¶êEDDä›ÕjeóæÍøúúb2™Ø²e‹­îüùó˜L¦4?&L <<œ=zP®\9\]]éÚµ+§NÊÖx÷ûr>o¼ñ…Ytž×~Ï;ãDz/4”ÉNͰÝÖ `\]]غ-(Çc‘—矞¾}ûòÔSOQ @u%K–䯿þJñ9qâ4jÔ€åË—ãããÃÚµkÙ±cŽŽŽtíÚ•ÄÄÄ,‰¿¿?Å‹gãÆlÞ¼™.]º`6›8‹/2yòd<<^^^DFFÚʧNʸqãèÕ«+V¬ \¹r„……Q¯^½,Ç'¹#×Ô $[,¶¿bcc™:c&;víÂÁä@‡vmùÒpòåË@ÃæþôéÕ‹›6qûv m[·¢Y“&,^¶Œ“Tö¬Ä“ßýT)îÞåÓy_°eë6nݾMÍÕ =ŠòåÊñò«¯³c×.êø5 t×âããCvMF¬Vkº;À¶à`*{zÒ©}{¦MŸÉ®={hÕ¢…­>))‰yóðóæ_¸uûåÊ–MÑ>£úúMšÑ¿o~Üøqwâ\ñ5O8;?p®ÁÛ·óÙ¼/9IáÂOзW/?7ðu <õL_ž}¦7}z÷Êö=‘»¿’‘Y+V¬ oß¾88¤ý•0_¾|˜L&bbb²5Þ·ß~˲e˲ôháV¯^Ío¿ýÆÂ… måQQQ„„„0oÞwʸ¹¹Ñ¤IÖ¯_Ÿf’Õû!ö‘'«ÕÊÝÄDN:Í¢¥Ëèömuã'¾‹ÅbeÍÊoILJbÈ‹/ñdÑ¢ô¶/IIÉ$''³dþ—ÄÄÄÒ»_N:Í;ãÆQ¢x1^xy$ŸÍû’&¿ÀÓ>âè±cÌýx&n®®|úÅ—<7ô6þð=ŸÍþ˜ÙŸ~Æé3gødÆôLÇyΛ¿€F `2™Ò½~[P07¢@Ô÷­Ç–mÁ)Bøo™=s:%K–dç®]¼9v|¦ë­V+±qq,žÿ7nÜ d‰¼6úÍtçÏè€q¼6ríÚ´&::šÄÄ$€ÖåË—o¯Ú”)S:K÷KDDDóçÏÌÌ™3Ó½fÓ¦M8;;§¹ú‘‘˜˜¢¢¢8}ú4Í›7çàÁƒ”.]šÉ“'Ó½{÷4Û$%%ñÊ+¯0zôhªT©’¢îìÙ³xzz¦(¯\¹2çÎËr|’{r=™5{³fÏ @ô}¦7#^|€¿®\a[pß®´m_jÛºÁ;v¤øòß´qcJ–(@õjU©ëS‡Jž÷ö ú7oÆæ_àÆ¬ûqKÎÇ£bEF"($„Ÿ7o¦G·®©âËl Y™§«« ­Z´àõWF¦{ýíÛ·Ùư矠IãÆ|:ï ’’’pppàÖ­Û®^ò… ðü{dÕ*Umí3ª¿¯u‹¸—*…{©RÎõÎ;ܽ{—2îîus£¨››­ŸÕF¦¼;1Ó÷JDDäq–Ó/"L¯¿•+WR³fM¼½½Ó¼&>>ž±cÇ2fÌœ³<Þ7˜;w.&LÀ××—]»vñì³Ï²wï^j×®ªí¼yó¸uëãÆÃ`0¤ø\¿~³ÙœjJáÂ…9{öl¦ï›^ô˜ûr=>l(Ïô|š_¶låÓ/¾dð€þ¶U³gïe³½û °]Ÿ””DùreÓì  x±b)¶5/^ÌöK|äÙ³FjýcƒµkÖâÌ?öþSvbxÐ< ,˜©­[!;wâ蘟 åËqûöm¼k×âöíÛì §¡_}ÎDFbµZ©Q½Zší3ªOKFsuqqaЀþ¼:úMü›5eø°aT®ä™aˆˆˆä=+V¬`À€i~!·Z­ >œråÊ1jÔ¨lõÿ¼É† ¨P¡poõbýúõ,_¾œ3f¤¸þÊ•+Lœ8‘eË–¥yHÝÍ͸¸8’““Sì ¹uëVª³-’·åzâääD‘"Exª{7¾[½†ù‹—0êÕWþ®+€ÉdbOHз*eVzÇ- Ò=žS1ÜŸgfm &.îþmÛ§*oèWŸ»‰÷UœÞ’ŒêÓŽ1ã¹¾6rm[·fþ¢E<ûÜ ÆŒÅÓÝ»eX'"""yÇáÇ9|ø0}û¦½›ãÓO?eË–-„‡‡gûûÙlÆÍÍÈÈH[P±bE"""R]¿|ùrnÞ¼I·n©¿;899Ù£GDDP¹re[ÝÉ“'ñóóËVŒ’;rý1¼÷FF½þ*߬\ÅÙ¿÷ñ•.]«ÕJXø£lÙ2$''sìÄ [Yrr2‡µmÉ2ÄÇÇÛês:†ÌH¸{—»vóñôiÜ¿×ööü`¶a±X(Sº4‹…CGޤÙGFõiÉì\«W«Ê'3¦óî„ñ|±`AŠ$çAu"""’7¬X±‚¶mÛR²dÉTuAAA°jÕª‡^YèÖ­)ÊŽ?ž"!¹ï¥—^âÊ•+)>ǧsçΜ;wŽbŊѤIÖ®]kksãÆ BBBèÚ5õ6zÉ»òLàçëKÃ~¶³E ¦sÇLœ<…ý¡a$$$p2"‚K—/g«7WW:¶oÏ”§röÜ9bbb˜5{£¶mZ÷¶pÿãO®]¿Îµë×s<†ÌØ»wV«•F ¤(oݪ%QQW9rôÅ‹£qÆLzÿCŽ;ÎíÛ· ³]›Q}Z2šë;wXóÃZNFDpóÖ-"#Ï’””ŒÕj}`Åbaâä)ìÞ³7ço–ˆˆˆØÄÆÆMtt4V«•˜˜¢££S<ÅÊb±ðÍ7ßпÿTí###éÕ«T«VÍÖWBB‹…!C†°yóæL7bľúê+æÎË™3g˜;w.›6m¢OŸ>©ú3›Í-Z4ÅÇl6ãèèhK„xÿý÷Y³f ¿ÿþ;ýû÷§iÓ¦xyye+>Éy*xã•WÞ¾ƒ½û÷0~Ì[ø7oÆ„I“ðoÛŽw&MáØñãÙîÿqÔ®Y“!/¾D§n=8áKæ‰cþü´oÛ–òåÊÒ±kwÆ¿3ñ‘Ä‘­ÁÁ4kÒ8Õ s*{zR¶Li¶0é·qq)BŸéÔ­J±Í+£ú´Õ!£zÉ/žÏ ACs; ‘T–,Yåü`ñâùtêÔ%Uy®B—‡W¨P¡‡ª±—<·KDDDDDþ½´""""’‡hË´üÛiDDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆäf³™ØØØÜC$…ØØÌfsŽõ§DDDD$ðô¬ÌÎ!ÄÆÆäv("À½äcÇŽ*Uª’c}ê= """"y„O=eýúˆ‹‹ËípD0›ÍTªT™:uêæXŸJ@DDDDò£ÑHݺõ©[·~n‡"òÈh –ˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝè)X""""y„Åb!,l?ê1¼’'˜Íf<=+ããS£1gÖ.”€ˆˆˆˆäáá¡\¸pooòçwÌípD¸{7ãÇP¯^Î<Z ˆˆˆˆHqòä´hѳÙ)·C±qqqeÛ¶_•€ˆˆˆˆüÛÄÅÅQ´hÑÜC$³¹`Žn Ô!t±% """""b7J@DDDDDÄntDDDD$1 ¹‚È#¥±% """""b7J@DDDDDÄnr58d˾^a×1ëø5äÀoÓ­Ÿ9{£ÆØþ8d^¾~xùúQǯ!í:wáæsëÖí ÇZ´t^¾~¬ýñÇ ¯={î<^¾~DGGg«^DDDÄjµ²yóf|}}1™LlÙ²ÅVwþüyL&SšŸ &N=(W®®®®tíÚ•S§Nek¼ûNž´’ Ç %hóÏl\û=ïŒ˾ÐP&85Ãv[ƒ‚quuaë¶ G¤ˆˆˆ<öžþyúöíËSO=ERÔ•,Y’¿þú+Åçĉ888ШQ#–/_Žk×®eÇŽ8::ÒµkW³<@dd$þþþ/^œ7²yófºté‚Ùl~à<.^¼ÈäÉ“ñððHQ¾iÓ&† Æë¯¿Î† øë¯¿èÑ£V«5Í~²:±=+œœœpqq d‰X’-¼9n<‹£1íîJTGŽe¸¦MŸÉ;wprr²gØ"""ò˜2d³fÍ¢H‘"|ðÁ)êL&Sª·¬¯[·WWWÚ´iÀ'Ÿ|’¢~Ñ¢E¸¸¸päȼ½½³4Þýþ4hÀܹsmO÷ªQ£F†óxë­·¨_¿>^^^DFFÚʧNʸqãèÕ«+V¬ \¹r„……Q¯^½4ÇÏÊ|Ä>òì HÂݻ̜=‡Ž]»Ó¤ek^ù gþñÐb±°hé2º÷z†FÍ[0hØ \»~€ÅË–Ó»ßê7iF»Î]r|›—ÑdÄjµ¦›ml ¦²§'Ú·`מ=)ê“’’˜ûù<:uëAÓV­÷Î;Yª¯ß¤s?ŸG»Î]hÚª5—._&66– ïM¢E»ö´éØ™Y³ç¤Èðƒ·o§Wß~ø6nJëŽX¼tY†u tîþß® ÌÞÍ»iÔ¨EŠÉôõ+V¬ oß¾88¤ý›t¾|ù0™LÄÄÄdk¼o¿ý–¡C‡féÑÂ!!!¬^½šO?ý4E»¨¨(BBBèÒ¥‹­ÌÍÍ&Mš°~ýúLõÑ|Ä>òì ÈÓ>âè±cÌýx&n®®|úÅ—<7ô6þð=f³³æÌeh“'N l™²œ:} ׿W)š6nL³&yòÉ'Ùµ{oO _}ªTª”íx¬V+w9uê4óæ/ Qƒ˜L¦t¯ßLãÆ(P õ}ë±e[0­Z´°ÕÏøøÂ;Èì™Ó)Y²$;wíâͱã3]oµZ‰‹cñü/¸qã%K”àµÑob±XY³ò[“’òâK¼½jS¦Lélß;É{Ο?Opp03gÎL÷šM›6áì윭Ղ˜˜¢¢¢8}ú4Í›7çàÁƒ”.]šÉ“'Ó½{÷4Û$%%ñÊ+¯0zôhªT©’¢îìÙ³xzz¦(¯\¹2çÎËTL3É9y2¹qãë~ÜÀÒ…óñ¨X€€Ñ£ áçÍ›iÓª%+¿ã›eK©\éÞ?Bo//[ûJžÿÝ/Ø¡][fú§²€Ìš=‡Y³çàêêB«-xý•‘é^ûömö…†1ìùçhÒ¸1ŸÎû‚¤¤$¸uë6«×°lá<ÿÞÛXµJU[ûŒêïkÝ¢î¥Já^ª]¹Â¶à¾\iÛ.Ö¶u+‚wì ÿ³}¹sçwïÞ¥Œ»;EÝÜ(êæfëçAuF£‘)ïNÌÖ}‘¬Ëé¦×ßÊ•+©Y³&ÞÞÞi^ÏØ±c3f ÎÎÎYïÆÌ;— &àëëË®]»xöÙgÙ»w/µk×NÕvÞ¼yܺu‹qãÆa0R|®_¿ŽÙl&_¾|)Ú.\˜³gÏfxß²;Éyy2‰<{£ÑH­ìtpp vÍZœ‰Œ$òïdžÓlñÒ%¾\°ß~?Ä7¸yë‰IÙ?l4|ØPžéù4 Lõ>-!;wâ蘟 åËqûöm¼k×âöíÛì §¡_}ÎDFbµZ©Q½Zší3ªOËÙ³÷2ÿÞýØÊ’’’(_®,... ПWG¿‰³¦ 6Ì–¼=¨NDDDþV¬XÁ€ÒüânµZ>|8åÊ•cÔ¨QÙêÿþy“ 6P¡BàÞêÅúõëY¾|93fÌHqý•+W˜8q"Ë–-K󺛛qqq$''§Ø…rëÖ­Tg[Å|$çäÉ$½£ý_äãHJJJó FRRýžL—Îøxú4ÜÜÜxnȰ‡ŠÇÉÉ)Kû)·wÿ¶íS•7ô«ÏÝÄ»éž!ɨ>í `2™Ø”îÖ°×FŽ mëÖÌ_´ˆgŸĘѣxº{· ëDDDäßåðáÃ>|˜¾}û¦Yÿé§Ÿ²eËÂÃøåüAÌf3nnnDFFÚ€Š+‘êúåË—sóæMºuKýýÃÉÉÉv=""‚Ê•+ÛêNž<‰ŸŸßcɉùHÎÉ“‡ÐË–-Crr2ÇNœ°•%''søÈQ<*V¤l™2X,>œªí‰?þàæ­[Œþ"+T ðO¤Êì³òÅ>«îÞeÇ®Ý|<}÷ïµ}†=?˜­ÁAX,Ê”.}/þ#GÒì#£ú´”.]«ÕJXø^W½ZU>™1w'Œç‹ R܋ՉˆˆÈ¿ÇŠ+hÛ¶-%K–LUD@@«V­Êpe!#ݺu#00åƒlŽ?ž"!¹ï¥—^âÊ•+)>ǧsçΜ;wŽbŊѤIÖ®]kksãÆ BBBèÚµkº1ää|$gäz’ÏíÛ·S|\]\èØ¾=S>œÊÙs爉‰aÖì9ŒÚ¶iM±'Ÿ¤U‹¼÷þ‡>r„„»w9Õj¥H‘"$%%±é×_¹}û6ß® Lñô,WvíÙÕ¨¨G2Ÿ½{÷aµZiÔ AŠòÖ­Zu•#GQ¼X17lȤ÷?äè±ãܾ}›Ð°0ÛµÕ§¥HáÂtîØ‰“§°?4Œ„„NFDpéòeàÞ95?¬ådD7oÝ"2ò,IIÉX­ÖÖY,&NžÂî={sþf‰ˆˆHŽŠ%::šèèh¬V+111DGG§xê“Åbá›o¾¡ÿþ©ÚGFFÒ«W/¨V­š­¯„„, C† aóæÍ™oĈ|õÕWÌ;—3gÎ0wî\6mÚDŸ>}Rõg6›)Z´hŠÙlÆÑÑÑ–8ðþûï³fÍ~ÿýwú÷ïOÓ¦MñòòJ3¾ÍGrO®' Ÿ}9Ÿ&-[§øX,Þ@íš5òâKtêÖƒó.°dþ—8æÏÀ¤wÞÆÇÛ‹×ßCë™6s7oÞĽT)ÞÍôYŸðOõäÔ™3øÔùï“ô{–+WòÎ{“É/ü[ƒƒiÖ¤qª—ñTöô¤l™Òl ²ÅïâR„>Ò©[:”b›WFõi?æ-ü›7c¤Iø·mÇ;“¦pìøq¢®^ã§Í›úÒË´îЉàí;˜1õŒFãë çô™39zŸDDD$ç=÷Üs¸ººâêêJƒNUu IDAT\\=zôÀÕÕ5ÅÛÄ·oßNtttš«S§NåêÕ«Lœ8ÑÖ««+K–,!!!   ŽÿýÝ"3ãyyy±zõj©U«_ý5ëÖ­ÃÇÇ'Íþ2Ò±cGæÍ›Ç‡~H›6m(Z´( †4û{Ð|$÷._¾”ê[ø† ë<øáÎMHæÄÄÄP°`ÁtŸÜQ½ˆˆˆü{,^<ŸAƒ†æv"©,Y² ËùÁâÅóéÔ©Kªòëã‡îç³/çóÆ[9‘ˆˆˆÈÿ¦åË—ãããÃÚµkÙ±cŽŽŽtíÚ•ÄÄDÛ5-[¶äÂ… ¶Ï¡C‡Rô‘Q½ÆËüx™iÿ8Êõ§`=Ý£;?¬[ÏŽ]»hÒ¨Q¶ûIJLÄbIÎÁÈDDDDþ·|òÉ')þ^´h...9rooo (@‰%Òí#£z—ùñ2Óþq”ë+ ¥ÝÝ?” /ÚÆX¼l9½û  ~“f´ëÜ…e_¯°ÕoßN¯¾ýðmÜ”Ö;±xé²4ã¼zõ*m:vfö§Ÿ‘@çîOñíªÀº[""""™—/_>L&111/Œgïxóª\O@€ÅbaÙò¯Ò½füÄw¹yókV~ËŠeK ÙÎÊÀïølöÇ 8€Í›q`ïnìÝÉd"))™ääd–Ìÿ’¥ æ³vý,]þïŒÇæד˜˜Ègó¾´Ñ´qcÞo"¿lü‘×FŽ`Öì9œøóOâãã0Ž®]þŸÖýÀsçаAƒT1ÆÇÇóÊ£©Y£:#_N¾|ùðöªM™2¥sþ¦‰ˆˆˆd`Ó¦M8;;§øµ=88˜âÅ‹ãææFçÎ9~üxŠ6Õk¼¬—QûÇQžH@3ú .YšbE⾿®\a[p¯|Š=ù$m[·"xÇŽ ûnÚ¸1%K” ’§Õ«U¥®O*yzàììŒófüqòOÛµ•<=ðôð ðOС][J–(ADÄ)îܹÃÝ»w)ãîNQ77<=<¨VµJŠq¬V o¿ûÉ Lz£ÑˆÑhdÊ»jk™ˆˆˆ<^ CŽ|;v,cÆŒÁÙÙƒÁ@Ïž=Y¼x1{÷îeÛ¶m¶/ÍwîÜÉT½ÆËÚxµÿ_úä¤\?r_ó¦M©_ß—fÎböÌ)êΞ=@ï~leIII”/W6Kc/V «Õúß¿‹#11Éö÷ÅK—ørÁB~ûý7nÜàæ­[$&%âââ ýyuô›ø7kÊðaè\É3Eßë7ld[pëV‡““S–âÉIV«•áÇS®\9Fe+÷òòÂËËËö÷Â… yòÉ'Ù¹s'mڴɰ^ãem¼ŒÚ?®òL0fÔôè݇í)W6œœ `2™Ø„Édz$c'%%Ñï¹Áté܉§OÃÍÍç† ³Õ¿6rm[·fþ¢E<ûÜ ÆŒÅÓÝ»Ùê[µhÁ‰?þdùŠo˜0VOã‘Üóé§Ÿ²eËÂÃÃøÝ)þü”,Y’ .d«^ãe®¿Ì¶\ä‰-X÷•)]šAú3mæ,lå¥K—Æjµ~ ݶF£‘øøøl}â?¸yë#†¿HÅ (üÄ©–›ªW«Ê'3¦óî„ñ|±`AŠÕ”‚ òá”I¬ùa­Þ """"¹&((ˆ€€V­ZEÑ¢ExíÕ«W‰ˆˆ V­ZÙª×x÷—•ö‹<•€<ÿÜ@, ;wﱕ)\˜Î;0qòö‡†‘ÀɈ.]¾l»¦x±bÿãO®]¿Îµë׳QQW±X,Lœ<…Ý{öfónˆˆˆˆd^dd$½zõ" €jÕªMtt´í‡Ýo¿ý–Õ«WsæÌöìÙC·nÝhÖ¬™mуê- C† aóæÍ/“ãeÔþq•çGGGÞ…ÅbIQ>~Ì[ø7oÆ„I“ðoÛŽw&MáØ?ž2оm[Ê—+KÇ®ÝÿÎÄ,ë^ªoŽfú¬Oø¿§zrêÌ|êÜ{BAÔÕkü´y3C_z™Ö:¼}3¦~€Ñ˜úö <ˆòåÊñö»ï‘@hX8§ÏœÉr<""""Y5uêT®^½Êĉquuµ}–,YÀøè£¨U«={öÄ××—ÿüç?888dXŸ@PPPЧƒ Íí0DRY²dA–óƒÅ‹çÓ©S—TåynDDDDDDþ½”€ˆˆˆˆˆˆÝä©ÇðŠˆˆˆ<îrú¥o"yV@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆHa6›‰Íí0DRˆÁl6çXJ@DDDDòOÏÊìÜBllLn‡"ÜK>vì¡R¥*9Ö§Þ""""’GøøÔãÀPÖ¯ÿ¸¸¸ÜG³ÙL¥J•©S§nŽõ©DDDD$0Ô­[Ÿºuëçv("Œ¶`‰ˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝäè›Ðëø5¤Bùò¬Yõ-óæ/à‹ muÎÎΔ,QœÎ;Ò§WOòçÏŸ©>;ÆŒ?áè±ã*XÚµj1ò¥áT¬P>Íñ- /¿0ŒaCžOQצcgîÞ½Kð¯›35îå¿þâÚõë”/[–‚ fªMNI¸{—ú›R«f ¾^²8Sm¬V+?¬[OàêÕœ‰ŒÄ`0R¼X1ü|ëñÆ«¯dê~§7ç´ÊãâîÐoÐ`êúÔaü˜·²7Qyì<òÚµjÒÒ¿9î¥Jy–Y³ç0ó“Ù™j{èð†¾ø¿üJž”vw'xûvbbbØná’¥\¸xñ¡â^±r}<Ç¡#Gª{ùjÅ7¼;å}NFœ¢’‡'Õ«UåæÍ›üöûï™NöÒ›sZåñññ\¸x‘ÓgÎää4DDDDä_.GW@Ò2hÀZú7à¯+Wèút/Öoü‰€7Gc0ØvÖœ9܉çó9³ièW€+QQ{òÉtÛFîÞeÚŒYÌ™5#ç&’Çý°þGL&ëVGÉ%°X,\½v푌çêêÂ/~Älvz$ý‹ˆˆˆÈ¿Ó#O@þ©x±b/VŒsçÏ“˜˜Hï~8uú4¿nÜÀ“O {¯g¸xéËÎ'üÀo´kÓÆ–|L>Ê—+‡K‘"oßNðöí4oÚ4Í뢣£ùhæÇìܳ‡|ùhÜ ¯¿ú E fø+¯²k÷^xy$M›4æÜ¹óœ=wŽÛ¶PÐl&ìÀ{GGGvlý•üùó³c×.^~õuúôîEÀèQÄÆÅ1÷óy„lßAtt4•*UbäK/RÏÇǶժ}Û6œ>}†Èsçhéßœw'¼"V«ÕÊoakP0ãǼE¯§ŸJ5«Õ‚Á`àÖíÛ¶Äh4¦¸_Ù™srrršå3§M¥i«Öøùú2ÿóOms騾W®DqìøqÌÍôìуaÏÆ`0Í´™³Ø½w 8RÇË‹}¡atéÔ‘WG¼ @àVómàw\¸x‘âÅŠQ³Fu>˜ô^†Éªˆˆˆˆüo°Ë!ô„„ÎDFòmàwœ‰Œ¤JåJäÏŸŸvmZ°s÷n.]¾Ì©Ó§iÖ¤ /] `A3Ï¿8œÍüéÖ³7‹—.#999ݱ cßz£ÑÈ´³HHHHuÅbáå×Þà×­[éЮ-6d݆Lœ4€ÞO?M}ßz<ÓóiÞM¯=hÙ‹ÅÂÁƒ¿°?4Ì6¿ûÛ“ÂÂкE ¬V+£Æòíª@jT¯Æ€~ÏröÜY†¼øG·Å¼}åË—§ŽWmžpvNï’å_±5(˜N:Ðó©iλmëÖ$%%ѧÿ@FŒeçîÝ)îSvçœ^yz~Ú´™ø„:wìHâÝD>ÿr>‡Åjµ2òQlüyÞµkñt÷î\¿~ƒ«W¯ÚÚ?q‚÷§}Äø;<ûLojת‰s!g%""""ÿ"|äõ7SP.h63fô(àÞ—æyó°c×.ºuù?vþýK{ÛÖ­l_L×ü°7WW¼jÕâÐáÃÌþìsL ì÷lºcVòô O¯ž¬X¹ŠEK—ñÒ ÃRÔ‡…àð‘#ôzú)þŽåJTA!Û¹yëþÍšvàûö‡Ò¿9 êß[qsseñÒe„†‡Ó¨aöíÅÍÕ•kׯ³o(uëÔ!4<œ"… SÇÛ‹£Çޱk÷š4jÄG¼Á` ^]ža8 —,åÃ)“¨ãíÅGL±Å—p÷®í¿÷íeîçóðôð`ÂØ1é~aÈó –}ý5¿lÙÊ/[¶RÚÝwÆÅÏ×7ÛsÒ,ÿgŒÿäU»6ËÎÀݽ³fÏáà¡C$''ñû¡Ã4kÚ„§„Á` fêìÙ·ÏÖöFôMjÕ¨ÁË/¾€ƒƒ]èDDDDÄìr½C»¶ôzú)&Œ `ý÷«ñ®]€ŠÊSÉÓƒ]{ö’””ÄÎ]»ptt¤I£†<ñÄ´hÞŒŸ×¯åËÏæ²dÁ—|¿v]†ã6WW–,ÿгçΧ¨;uæ4po»—¯^¾~¶mF.¤x½zµj/VŒÐ°pâããùýðaÚ¶iMµªUØF\ÜŽ=F ÿæ˜L&þŒ8@“Æl‰CÝ:u(P ž<™á,É&¼7 ‹ÅÂÄñãprJÿ¼…ÑhäÅ¡CØúóO¼ÿÞ»x{yqþÂ^yc4—.]Îöœ†GŠܼy“S§ÏÐÈÏ/Ý$Ê»v-Ê–)Ãæ_·Ð¦Sgfö9±±±$6Év=„ž–¶­[óÙ_và{÷í§Y“Æ899Q¢Dqj׬i{ŠS•Ê•)Y²—._Îp\ggg^9’ ïMbêôX±Úê ?Q€>½zÒºeËíÊ•-“nŸƒ–-ü üÏjvïÝGbb"M7¢PÁ‚,Yþ{öí#99™V-ZÜk`µÚÚý“ÑhÀÁÁ”áŒ&#½Ÿ~ŠÙŸ}ÎÊÀï¨]«f†mœœœèܱ:´gÚŒ™|ø{÷ïÏöœÆýy[­VŒ¦{ó5™ÒŸ·““«¾þŠ‹³æ‡µ,^ºŒ "ð›¯)R¸ð#‰QDDDDì+×_Dؾm>÷±qq´iuïËqíš5)Q¼8ë7n$6.€3‘‘DE]¥|¹r™ê»sÇx×®ÍÎÝ»‰ŠúïYŠ8áõêú¤øÜÏ…ÉxïÖÄĤü¾•¿?ÉÉÉ,X¼GGGêùøÐ¤QC’’’X¸d)Ífüþ>3QÉÓ¸wÆÅúw2rèðââîàéᙩ9 ìßÕª±áçŸÙ’îu{öí³Ý§ûâÿ>ÿR¨P¡‡šszåYáù÷jÈþ°ðt¯±X,89àÕ/óëOèÒ¹]¹Â¾ý¡ÙWDDDDò–\ßd_¶LªT®Ìï‡ã˜??M7îm)zaÈó¼÷þt}º'Ê—',üÉÉÉ Ø?S}Fƾ5š>žÃb±ØÊ+yzмiS‚·ogÄëoàãí͵k×(UªÏ>Ó€ÒîîÌý|üù'Vàå†áSÇ›"… säèQš5m‚££#µjÖÄÙÙ™#GÒ¡][ÛŠMõjÕhØÀí;x{+²ê?«1 <(Ss0™LL~÷z÷À”§âSÇ›ÂoO»ïJTÃG¾ŠƒƒÕ«V¥P¡Bœøó¢¢®RÚÝ?ßz8;;g{Îi•ô\¦â¿¯FõêÔ÷­Çæ_Åd2R½jU‚B¶§¸fûμ7åêûÖýT)ÂüÜ;K"""""ÿ¹¾Ðþï§a5nÔ(Å{%ztëÊ»o§Ø“Å8tøU«Tá“ÓiצM¦û®Z¥ =ÓxjÓÔ)“yö™Þœ>}†/."ìÀ¢££mõÛ·§C»¶Ü¸qƒïÖ¬áĉ?°Z­˜L&ü›7 i£FÀ½$¡¡Ÿ-ýým} fN›Ê3=Ÿæàï‡XúÕ×”+S†¥ çS¹RæV@àÞŠÍ‹C‡põÚ5¦Í˜•ª>Ÿƒ/‚GÅ œ:sš}¡¡äÏ—Ÿ>½{±xþ8ÿýd­ìÎ9­òûÛË2Ë`0ðñGÓèùT~;ø; —,%æÿ;ßQ @<<*²{ï>V¬\…ÙìÄ”w'R£Zµ,%""""y—áòåK©¾InذŽÁƒ‡¥u½HŽÙôË/¼5îm^9‚A2·ª%""""ÿ/žO§N]R•ç‰y<íÝwïl‡çßçSDDDDäß/×Ï€Èãã­qoã蘊ùóäI~ÜøU«T¡q£†¹šˆˆˆˆØ‰±‹äädœ äØñü²e+.EŠÐ£[W^ñ2F£âDDDDJ@Ä.L&ÆÍí0DDDD$—é§g±% """""b7J@DDDDDÄn”€ˆˆˆˆˆˆÝ(»Q""""""v£DDDDDDìF ˆˆˆˆˆˆØ±% """""b7¹À}‹…°°ýDDüI\\\¦Ú˜Íf<=+ããS£Q¹”ˆˆˆˆH^—gððP®]»Æÿý_7 ,”©6±±1lßLxx(õêÕÄŠˆˆˆˆÈÃÊ3Ë'OþAÆ1ŒÄÆÆfêc0iذ1'Oþ‘fŸ-Ûu dûŽTå¿lÙJ›ŽÉDDDDDþ—å©«5ë+ +>>žÑãxmäÚµiMtt4‰‰I¶úñßÅb±²få·$&%1äÅ—x²hQú?Û7KãX­Vî&&rêÔiæÍ_@£ 0™L´iÕŠ™³çpúÌ*”/ÀÖà`Ú´jE\ÜnܸÁ… ynè0þøãOŠ/ƈá/ÒªE‹œ¼ """""v‘§‹ÅþÛ©îܹÃÝ»w)ãîNQ77Šº¹Ùêþºr…mÁ!|¸Ò¶…ªmëVïØ‘¥dÖì9Ìš=WWZµhÁ믌 dÉÔ¨^mÁ!T(_žÛ·o³?4ŒÑ¯½ÊÍ[7øfU / yžÕ«sð÷ß xûV,]BåJž9uDDDDDì"O% 9}žãAÛ–î×¹¸¸0h@^ý&þÍš2|Ø0Ûû³gÏлß[»¤¤$Ê—+›¥8†Ê3=Ÿ¦`Á‚äË—/U}Û֭زmƒ`ûÎ]”vwÇ£bEølöǸ—*@Ù2¥ a݆ Œ~íÕ,Å!""""’ÛòØK¶>éqq)Âí˜Ô»½uûnn®¶¿_9‚K—`µZyö¹Aüçûpr*€ÉdbOHûwngÿÎíØ»›ïWei^NNN)R$Íä M«–:|„«W¯²5(ˆ¶­[a0(P E æÒ¥Ë)®/íîÎÅ‹—²ƒˆˆˆˆH^Çœ=„^¶LYÂ;˜ª<,ìeË”IQV½ZU>™1w'Œç‹ °Z­”.]«ÕJXøŸë?¹—*EµªUØôëvìÚMëV-mu-ü›óó/¿¤¸þô™HÜÝK=Ò˜DDDDD…uÒ¯Ï3|¿v˾^Á¹óç9{îó-æ§Í›é×§pï ÈšÖr2"‚›·ny–¤¤d¬V+E ¦sÇLœ<…ý¡a$$$p2"‚K—/§;fvµiÙ’…K–ðdQ7*{þ÷lGŸÞ½øqãO|»*‹—.ñíª@víÙCÇvír<‘G-OINNÆh4fú,ˆÁ`xà»C|êx3gÖ ¾\¸ˆ‹—`0@Åòø|ÎljÕ¬@ÔÕkü´y3sçÍ#&&–Š*0cê¶÷sŒó³?ûœ “&qóæM*”¯ÀA)Y¢ÄÃOøÚ´nÅìÏ>§{—.)ήT©T‰?šÆ 1û³Ï©X¡sgͤZÕ*9:¾ˆˆˆˆˆ=._¾”êÛþ† 뉳¦¼üâ‹<ñ„óûZ´ts>ûœI'еóÿcï¾££ªÖ>Ž3IH…t$¡¤"½÷žP¯)Š {¹¯x/V,ØEìQÔ+(5„^R@šÒ B€ôÌd2óþ$™Â$êï³VÖÒyöÙûÙgÉyfïsæÊJÛ¦=Æ¿®»ž„Ëðõõ­v¼6|úùX¬Vn{Sž·ß¤=Æô·ß&)e;ÎݺvaÒ“OpààA>˜ûo¾ñú%››ˆˆˆ£ÊÊ"9e;'Ož¤Øl¦qp0½zt§~ýßÿngà€þ„…†VxLÊöìùy/ÅÅfÂBCéÕ³îîÕ<3Ø«*¹T‡½ót±ïƒ½x]Vë+ ÷Ž¿‹5ËäûÅ_ñè#ñÝ’¥ÌxgV­å3ó½Ùüß&Öx¿¿Ísé·‹yæÉÇÙš˜È /¿b÷¸Õkð÷÷cuüšÏ©¶1ç“Oh]a› =o™Ü>þnü˜5c:³ßy›ýúâîîNx‹p’RRHJI©©éˆˆˆÔº}û÷À°¡C¸ì|= IDATúÊ+1 ü¸b‹€£ÇޱvýzÚ¶iÃåC‡PXXÈò•«lÇÛ‹'¬[ǪøxÂ[´ÀÅåÒŽýó/¿°cçNzvïÁUW§  €õ6^òq/–½ót±ïƒ½xuØû&ôK¡Ö üüühÒ¸1ýûöå¡ûï凗ÕZ>æâb,–’ï÷·y6¦wÏžüßC±nÃÛ/„òüzò$»÷ìá{ïaÓæ-Öx^µé˯ܨݺt©°Í…œ·ß|úÅ´oÛ–Çÿ3ËZÆÎÐÁƒðôô`ôÈ‘¼?gnÍGDD¤¶õêуN:à/úõåÌ™³œ9{€í;~¢S‡D„· 0 €AðëÉ“œiGMx‹æøûùѱC{Ž;æ±/†½ót±ïƒ½x]W«[°ÊçDÉ..óóóyå)¬ß¸g.:„ï»WWWzöÀ˜‘#Yºl¹¹y ‰‹¥_Ÿ>Ìùøcç·51‰„uë±Z­ç>p쇇^^žE¶¶F£o/¯ ÇÛñÓN:Dvv6nnn´iÝŠömÛVi,{ñŠú./ÊÎÓžöâ~¾¾eò)/¿ÚV' «ÕŠ©¸˜C‡óáGsÍ¿~¿×áÉIÏb±Xùzþ<ŠÍfî¼ç>‚¹ù¦0›K())aîì÷ÈËËgÔØ›9tè0Ï<ñÁr÷ý2sÖ{¼ôÂs¼ôêkìÙ»—·¦M!Àߟ·ß}Û¥ß,fæôiL{&‡)so€½.dž³f¿O¯=pvv®°}üšz÷î…»»;ݺvaU|B™äio’¼}Ó§¼NãÆÙ°q#=þd•ãV«•ü‚æÌ~—3gÎÐ88˜G&8~Ó–-dfž`èà8ê{{sôØ1V®Ž/s\dx8-c¢1³ný~X¶œë®¹€ËbbønÉR6lÚDDx8›·l¥c‡öŽBXX(^žžKOgUüÂBBð÷÷·;–½xE}ûùù—Geìç‹ÿù¼”wžj[­oÁš:}ºõ [ï¾Üv×xzõìÁƒ÷Ý À‰_%>a-Ø‹ÿ9Ÿêæçµ¾rïø»}ÃV¬ZÍÛï¾Ç¸[n¶­ ¤¥`ÔØ[líÍf3Í›5-·/€F –ÙÖÔ¨QCÛ'ñ©ii Ú¶nm‹»¸¸Ð®M[ޤ¦–Ûß…äPÙ<½¼¼ª´ukí† ¸¹Õ£EófäææÒ¡]ÛÒ ì¤dzvïÆ‘ÔT¬V+­[]Vîñöâå±7W???n¿åfžðúõåÞñã‰ŽŠ´+Ï©¬,üýýìædï¼ ‰‹eU|<ãn½…u6BDx8Fcé/ʙӧٶß5 eÍÚµ|·d y€€9R…³#""òײ~ã&¼½½m[ÜÝÜ1—”`µZËlO..6áîîn7^]ÙÙg±Z­VùOOOê×÷&;;‡ÆÁÁ¬Y»ŽÀÀ@ú÷íC~~>I))|¹è+®»æêrŸè™›—GrÊvNœ8AaQF£‘’’òïýóXöâÕé»2û>ÔôûÔ¹sgJJjþþçÊÔú ˆ‡‡¾¾¾\í54 bön öðpÇÙÙ™Ík×°mÃ:¶mXGÊ–M,^¸ ’+VÑíNNœWEÖt¿Í³ª÷įI   C†ÑgPœ­(ˆ_“€©ØtnNåOÊ^¼üíÏõ‘àóæbµZ¹é¶ÛY´ø›*ÅþÌÅÙ‹Å~nöÎÛàØAìܵ›S§N±z͆ÄÅâää„»»;¾>>ddd–iÂñã¶ÿ/2«uŠˆˆÈ_Á®={HOOgЀþ¶¿s^^ž@é£pÿ(''o//»ñê2Ÿ»¨­Îµ€NX,Ìf3ÇÒÓiÛºÕ¹ü½è×§ ||8’švÞq‹…o¾ûîî Žeô #ðó«ük~Ë^üBú®Èž5ý>Õ†Z/@~c0xôßóÅü¤-ý$>44«ÕJRrÍ<*µiÓ0JJJØûË/¶×JJJص{áá¶<ŠŠ~¿Ù©¦s¨ £ÉÄú›˜öú«ìضÅö3þŽq¬NXƒÅb!,4‹ÅÂÎÝ»ËíÃ^¼_®¼âr&½0™m‰IFa¡aççîæŽÅbáÐáØL&víÙÃÙìì*e/^YßÎÃÞyª‰÷¡²øŸó)/¿ÚVë÷€üÙÿ=ô×ÖmÛèÞµ+Oþ÷?LŸùO?ÿ<ÙÙÙ´hÞ‚;o¿µÜ½zUñÌ™6ã-î¼ç>ŒF#Ú·cîì÷p;÷͑Æ aé²e\qõµtlߎwß~«Æs°guBýúô>o_td$MÃBY½f mÛ´æùgžâ¿O=͘[nŧAè_f?¤½xy*›ëÉSYü°|9oÍšE^^>á-ZðÆ+/a0*•'((Ȉ6nÚ̈뮽¨ó58.–é3ßáÚ«®*³*&*Ši¯½Ê»|Èô™ïÞ¢oMb»9>#3“ŒÌLzž{Wqq1‰IÉÄDEѳG÷‹ÊIDD¤6¤ìØAQQ‰IÉ$&%Û^ïÛ»—µlIÓ°0úõéMòöíäçåJïž=míìÅã8|ä÷ûfûò»Ð†ÄÅ’ž‘¿¿?¡!!ôïÛ‡UñkøúÛoqss£E³fe¯oœœÈÏÏgÑ׋1›Í7jÄÆÚþž÷ïÛ‡­‰I¬ŠÇh4Ñ0(ˆá—ÃË˳Ù\f¼úõ½éݳ'›6oaÓæ-´hÑœàFªÍác‹ˆˆ”gΜٌ1º¶Ó¨q&“‰zç>앺eûöítèÐÁn»E‹æW»>˜3g6Ç_uÞëuj –\ooïJ‹ {ñÚrõUÿ"7/µë78|윜\¾úæ[îw›ÃÇù§Qñ!¤Dj[½zÜvóXÒÒÎ’Å¥–v4žÝ»Ó¡}{‡-"""òOVçî‘–±cF×ÊêL›Ö­™úÚ+WDDDäŸN+ R«jskX]Ü–&"""òw§DDDDDäªsçÎSˆˆˆˆˆˆ8Œ q """""â0*@DDDDêOOO k; ‘2 ðôô¬±þT€ˆˆˆˆÔ‘‘Ñ$%m¥°° ¶S‘ˆ¤¤¤Jã……$&n%**¦ÆÆÔ÷€ˆˆˆˆÔ:u!%%‘øø•¨Ç8pàç cžžžDEEÓ±cÍ=-KˆˆˆˆHa0èܹ;w«íTD.mÁ‡Q""""""£DDDDDDFˆˆˆˆˆˆ8Œ q=KDDD¤Ž°X,$%mãàÁýz ¯Ô žžžDFFÓ©S †šY»P""""RG$''ròäIŒÃãæ¾yZ¤"ÎÎΔ””T/,, )iÉɉtéR3‡Ö,‘:âÀ}tîÜUŇ8Œ½oB÷ðð¤sç®8°¯ÆÆT""""RGàááQÛiˆ”áááY£[U€ˆˆˆˆˆˆÃ¨‡Q""""""£DDDDDäªsçÎSˆˆˆˆˆˆ8Œ q """""â0µúMè·Þ9žAúsëØ›6fÇî=™óÞ»tìÐ¾Üø”é38~ü8S^}Å–ãö;0 4 b@¿¾ÜÏ=4hP¿Ò±>üècfÌ|‡ç'=ÍÕW^YiÛ´£Çø×uד°b¾¾¾ÕŽ×†O?ÿ‹ÕÊ­coªÑóö›´£Ç˜þöÛ$¥lÇÙ` [×.Lzò <Ès?âÍ7^¿dsù+:••ErÊvNž¡eLt…m.ô¼dddrûø» ð`ÖŒéÌ~çmôë‹»»;á-ÂIJI!)%¥¦¦#""ò·°oÿ~6tW_y%ƒW¬Àb±pôØ1Ö®_OÛ6m¸|è Y¾r•íx{ñ„uëXOx‹¸¸\úϱþåvìÜIÏî=¸êÊá°~ÃÆK>îŲwž.ö}°¯{ß„~)¨©üüühLïž=ù¿‡b݆ ¶ÌåùõäIvïÙÃ÷ÞæÍ[(,,t`Æ—Þ—_/&¸Q#ºuéRa› 9o¿ùô‹/hß¶-ÿg—µŒ!"<œ¡ƒàééÁè‘#yÎÜ›ˆˆÈßA¯=èÔ¡þþøùù2 __Μ9Ë™³gؾã':uè@Dx 4p¿ž<ÉÉS§ªoØ‘#éоCæ“vô1ÑÑ„·hŽ¿Ÿ;´çè±cûbØ;Oû>Ø‹×uµº«2F“‰·g½ËªÕñääæÒ¦u+&Nx”æÍš`±X˜ûɧ|¿ôNœ8ALL4o¼ò2þþÌùø–­XÉá#GðóõåÆÑ£jt›—ÁÙ€ÕjÅjµVØ&>!èÈH†Æ«¯OaãæÍÄh‹›ÍffÍ~Ÿ—¯ '7‡fM›–9Þ^¼[Ÿ~Ü|ã¾_ú…,üü3Ô¯Ï+oLaýƸ8»pùÐ!ûœ¯¿ýŽo¾\P¦Ïy ²xá–.[΋ÏMª°ÿ17ÜÀûÎáè±c„…†b4¹~ôÜ4zcF¬rN"""gNNN ŠMÅ‘‘™IßÞ½lqw77‚5"55 ooïJãA4j԰±Ìf3‹/¦MëÖ´iÕ (½^KLNáà¡C˜LF|øœwÜÖÄ$Ö­Çjµžûвxyyb4ÙÚF¼½¼*oÇO;9pèÙÙÙ¸¹¹Ñ¦u+Ú·m[¥±ìÅ+껼<*;Oû>Ø‹ûùú–ɧ¼üj[-@^zõ5öìÝË[Ó¦àïÏÛï¾ÇmwÝÍÒoãééÁÔo±-1‰&=MÓ°¦:|??úöîM¿>½ bã¦ÍL|êiztïFLTÔçcµZ1sèÐafÍ~Ÿ^=zàìì\aûø5 ôîÝ wwwºuíªø„2ÈÓÞ$yû¦OyƳaãF{üÉ*Ç­V+ùÌ™ý.gΜ¡qp0Lx ‹ÅÊ×óçQl6sç=÷ÈÍ7ÝHQQ&>Á#>ÀÐÁqœ={–âb3@¥±ò¤?NÚÑ£ôèÞí‚ÏÛàØX¦LŸÁá#GhѼ9«KAA!gΜ!=ý8·Ý5ž}ûöÓ¨QC¸÷Û9ô÷÷#:*Š-[·Š««+Ú·#,¬fömŠˆˆüKOÇÕÕ…ÀÀΞÍ AƒeÚøø4 ¿ Ÿü¼üJãö8;;ܨ>8~Ó–-dfž`èà8ê{{sôØ1V®Ž/s\dx8-c¢1³ný~X¶œë®¹€ËbbønÉR6lÚDDx8›·lµÝÇ[Þxa¡!„……âåéɱôtVů!,$»cÙ‹WÔ·ŸŸßyyTÆÞy¾ØøŸÏKyç©¶ÕÉ-XgΜá»ï—ðÔã‰Ç××—‰ÅÅÅ™—/'77—ù ¿ä…IÏЦuk4¨O‡öímŸ–GEFOƒ\>tƒƒ9xðÐç3uú :tëA·Þ}¹ïá‡iÃäç&UØ>77—­‰IôíUZ™öéÝ›µë×c6—^Ôçää²ð«¯yúñ‰DFDàåéI˘–¶ãíÅ7p !MšÐ¦ukNüú+ñ kyäÁûñóó£aPCâbIX¿€ÂÂBL&a!!Áe-cìÆÊ³ÿÀAüý ¸àóÖ¸q0­[µ">a­íœmKLbH\,Ù9¥¿ ¿X°Q#F0ÿ³Owë­L|êöí?`ë¿et4?ïÛ”Þè>ùÙIôéÕ )]!غ-‘öíÚáââB‘±gg †²—®®õ(*2ÚÛãääÄ€~ýl7q&öþü }ûôÆßÏWW×r¯üýýpss£¾·7úõ%ëôi223ÒíÜõ½½ÉÈÈäK–bpv&,,¬ÜñJûòÇ߯´¿ˆðp¼½¼8}æL•Ʋ¯¨ïòò¨ÌžöâΧºù9B\IMKÃ`0жukÛk...´kÓ–#©©¤¦¥áääDdDx¹ÇÏÈà½÷?`ûO;9sæ Ù99›‹/8Ÿ{ÇßÅèFàååeÛÎT™µ6àæVÍ›‘››K‡vmK/°“’éÙ½GRS±Z­´nuY¹ÇÛ‹—'-í(£ÆÞb{Íl6Ó¼YéÖ-???n¿åfžðúõåÞñã‰ŽŠ´+Ï©¬,üýýìædï¼ ‰‹eU|<ãn½…u6BDx8Fcé/¹™Ó§ÙžÑ4,”5k×òÝ’%Lxäaü9|äHÎŽˆˆÈ?Ïú›ðöö¶mArwsÇ\R‚Õj-³Å¹¸Ø„»»»ÝxuegŸÅjµXåc<==©_ß›ìì³fí:éß·ùùù$¥¤ð墯¸îš«Ë}*hn^É)Û9qâ…EEFJJÊ¿÷ôÏcÙ‹W§ïÊ\ìûPÓïSçÎ)))©öq£N®€Ttk…“Sé'ÝEF#f³¹Ü{0Ìf3co‡ŸŸÓ^•ÿ-þŠð-.*|}}«T|@éö«‚‚B FŸAq¶¢ ~M¦b@…÷Ø‹—Ÿ£;ÎÎÎl^»†mÖ±mÃ:R¶lbñÂßï±xäÁøü£¹X­Vnºív-þ¦J±?sqvÆb±Ÿ›½ó68v;wíæÔ©S¬^³†!q±899áî™eÚ‡†„püx†íÿ‹ŒÆj݃"""òO±kÏÒÓÓ4 ¿ío¥——'Pú(Ü?ÊÉÉÅÛËËn¼ºÌç.j«s=à„‹³Ù̱ôtÚ¶nu./úõéCޤ¦wœÅbá›ïþ‡‡»;ƒcc}Ãüü*ÿê‚߯²¿¾+r±ïCM¿Oµ¡N M›†QRRÂÞ_~±½VRR®Ý{ˆ§iX‹…»vwì/ûö‘“Ã÷ÞCx‹ø4hpÞEjuÿ!T‡ÑdbýÆML{ýUvlÛbûÇ8V'¬Áb±ZšÿîÝåöa/^žÐÐP¬V+IÉ•?š¶Õe-yó×yöé'y÷ý÷Ëœ‹Êb@VVV•s«HH“&\Ö2†e+W±~ã&âbÙbôçÇ+Ê´?|$•ߟ¡}$5•;ÛÀDDDþi223Ùº-‘¸ØAe>÷ðð 8¸Q™‹w£ÑDFFÍ›7³¯.¬V+'OVýÉLF£‰¼ü||}~¿YÝh2•mdµâîîvÞ±Y§Oc4éÒ¹~~¾¸¹¹áDÅT–7VEñêö]™‹}jú}ª µ^€‹ŠÈÍÍ-óãïçÇÆ1ùåWH;z”¼¼<¦NŸ“Á‰!ƒãhDìÀ<÷âËìÚ½£Éă±Z­øúúb6›Y¶r%¹¹¹Ì[°#©©¶ñüýüظy3¿ž˜;— À¢#ßö5fÔH¾_úó,äxFó,dãæÍ\1t¨­Í‘#©´Œ)½WÅb±0é…ÉlÚ¼å¢sù«ÊËËcŪÕthß?__L&&“ɶŦC»v$oßΑÔTNŸ9C|BÁÁÁœ»IÛ^Ül6ÛúÄj¥¸¸“ÉdÛ™²vÝzŽ¥§àåéIXh(ë6làÔ©,L&S¹×™'NPd4’››Çº ëiP¿>ãââBófÍØ°q™'NŸŸÏ¶¤$òòó ;oÿÌSL›ñÿ~ì¿‹hÃë/½HH“&L|l¯O}“×§¾ÉàØAtêØÁÖ÷-coâÝ÷ßg×îÝÌzkFoáY@¿>½ÏÛƒIÓ°PV¯YCÛ6­yþ™§øïSO3æ–[ñiЀú—ÙËh/^ž'ÿû¦Ï|‡§ŸžììlZ4oÁ·ßJãà`NžÊâ‡åËykÖ,òòò oÑ‚7^y ƒÁPi¬#3“ŒÌLzž{Wqq1‰IÉÄDEѳG÷‹ÊIDDä¯*eÇŠŠŠHLJ&1)ÙözßÞ½¸¬eKš†…ѯOo’·o'?/Ÿ°°Pz÷ìî`Añ IDATikg/ŸÀá#¿°ûÛ—ß…†„0$.–ôŒ üýý  ß>¬Š_Ã×ß~‹››-š5+{ääD~~>‹¾^ŒÙl&¸Q#®6ÔvMпo¶&&±*>£ÑDà †_> //OÌfs™ñê×÷¦wÏžlÚ¼…M›·Ð¢Es‚5ªòX•Å+뻤¤ä¼yWvž®6ô¢ß‡ÊâΧ¼üj›SffÆys/YòãÆ¯|þqòòòðòòª°²¯- }Å òõ‚y*—ÒëS§q$5™Ó§9|l‘KeΜٌ1º¶Ó¨q&“‰zç>D–ºeûöítèÐÁn»E‹æW»>˜3g6Ç_uÞëµ¾ëŸÎÛÛ»ÒâÂ^¼¶\}Õ¿ÈÍËcíú ;''—¯¾ù–»ÆÝæð±EDD¤úT|È©‘ âV¯·Ý<–´´óŸBq©¥M£g÷îthßÞác‹ˆˆˆÈÅ©õ{@ä¯kì˜Ñµ²:Ó¦uk¦¾öŠÃÇ‘‹§¹`µ¹5¬.nKûT€ˆˆˆˆˆüCuîÜÙácª‡Q""""""£DDDDDDFˆˆˆˆHáééIaaam§!RFaažžž5ÖŸ ‘:"22𤤭Ôv*ò‘””Ti¼°°€ÄÄ­DEÅÔØ˜ú‘:¢S§.¤¤$¿’‚!âü\aÌÓÓ“¨¨h:v¬¹§e©©# ;w£sçnµŠÈ%£-X"""""â0*@DDDDDÄaT€ˆˆˆˆˆˆÃ¨‡Q""""""£§`‰ˆˆˆÔ‹…¤¤m<¸_á•:ÁÓÓ“ÈÈh:uê‚ÁP3k*@DDDDêˆääDNž<ÉÀqxxÔÜ7O‹\¨ÂÂ’’¶‘œœH—.5óxhmÁ©#ØGçÎ]U|HáááIçÎ]9p`_õ©DDDD¤Ž(((ÀÃã¶Ó)ÃÃóF·ª‡Q""""""£DDDDDDFˆˆˆˆˆˆ8Œ q """""â0*@DDDDDÄajõ›Ðo½s<ÛwìÀ`0Ð0(ˆýúrÿ=÷РAý î×h4òêSY³v-yùù4fü·3üòË/*ßO?ÿ‹ÕÊ­cobÊô?~œ)¯¾RcsI;zŒéo¿MRÊvœ ºuí¤'ŸàÀÁƒ|0÷#Þ|ãõ‹Ê_DDDþþrrrزm™™'p2hÒ¸1ýúöÁÅÙ¹L»?íd˶m´hÞŒÁ±±µ”­üÕú ȽãïbÍòYúíbžyòq¶&&òÂ˯\TŸŸÍ›Obr23§¿ÉúÕ+¹ùÆ1<õìóœ9sæ‚û,**bÎ'ŸÐ2&ºÂ63—ŒŒLn7þÌš1Ùï¼Í€~}qww'¼E8I))$¥¤\pþ"""ò÷———ÇwK–âááÉåÆrŰ¡4kÚô¼â#?¿€¤””‹úÀWäBÕê €‡‡~~~4ÆRbá±'žÄb±`0\X}tôØ1:vhÏe-c¸þÚk:8Žúõ/üÙ—_/&¸Q#ºuéRa›‹™Ë§_|Aû¶myü?prr "<OOFÉûsæÒù­Ž<ù{ûi×nѧWOÛkþç®Mþh˶m4lD`@¹¹¹ŽLQ¤öW@þÌàlÀjµbµZèÖ§o½3‹¡W^Eߨ8223ÉÏÏçéçžgàÐa ¾âJ¦NŸAqq1Ï¿ø2ÿ[²”ï—þ@ï±ôK¯é3(Ž‚‚B¶ïØA§½Ø½w¯mÌÇ‚‡þo‚mÌò,\ô7m+ª;—O>ûœknu^Ÿ×Ž,}mé²å\íÕö?æ†ؼe+GJ·™]yíõÌ[°°ÊùˆˆˆÈßÛÁƒmÀV$#3“ÃGŽÐ§W/ ê×5"5¥ÖW@¬V+¦âb:̬ÙïÓ«GœÏ-Z­Vò ˜3û]Μ9Cãà`™ð‹•¯çÏ£ØlæÎ{î#(0›oº‘gž|‹ÕÀ³O= Àƒ¹~ôthߞ뮹šç&¿Ä¼O>bã¦Ílظ‰Å_.¨ðâ?ýøqÒŽ¥G÷n<—Á±±L™>ƒÃGŽÐ¢ysV'$086–‚‚BΜ9Czúqn»k<ûöí§Q£†ƒ©Óg¥Ù±òï‡,Ó&nà@Bš4!¤INüú+ñ kY¼p¾m»Ó¸XÖ¯çæ›n¬Ò˜ß×Ü0Š÷çÌå›ïþÇ#>@£† +l¿ÿÀAüý ¸à¹4nLëV­ˆOXK‹æÍÉÍÍe[by˜ìœl¾X°»ï¼ƒÖ­Z±ã§Ÿ˜øÔ3|þÑ\¢£"hÍÏûö¥7ºO~vR•æ+"""EF#»öì¡sÇ’yâWVůáÚ«¯ÂßÏ={Æd2ѱC‡ZÎVþÉj½¹wü]Œ¾a^^^¸ººÚmŸ–v€Qco±½f6›iÞ¬i•Ǭ_¿>ÿð(=þÚµcÄu×VÚþTVþþçïŸü3{s˪øxÆÝz ë6l$4$„ˆðpŒç~aÌœ>&MhÊšµkùnÉ&<ò0þ>r¤Êó‘www.2„úõ½hР©i©ìÛ¿ŸömÛ’˜œÌÀ~ýλ)]Ä‘j½ñððÀ××·íÝqvvfóÚ5¶mZ¢¾wé?L'ƒý½.ÎÎX,ßò{n•Ïepì Þ|ëmN:Åê5k‹““îîîøúø‘‘i+@BCB8z,ÝöÿEFcµîA‘ggÜÝÜÈËϳ PZ„dgç°ïÀL&ËV®<ïØ?ú˜;n»Õ‘éÊ?X­ ÕŠÕj%)9…n]+~"UeŠŠŠ˜üÊ«Ü5îv¾X°¯¿ýŽ×^Saû€€²²².4e›&M¸¬e ËV®býÆMÜuÇ8[là€þü¸b]:w²½vøH*Íþ°²s$5µL""""òGÍ›7ãÀÁC4¶½völ6>>>´nÕŠ˜¨¨2í““ÉÏϧß¾ŽNUþÁêÜS°ìñõñáÊ+.gÒ “Ù–˜„ÑhäÀÁƒddfV¹÷>øŸ ¸ïîñ<üÀ}L›ñ§Nª°}ËèhÎfgs<#ã¢ó›7Ÿ§ŸˆÁ`à†ë®#¼Es^ycJ…ÇÁÆM›/:÷Áq±œ>}†Á±±e¶SÅDE1íµWùqÅJ®5†ÿ-ý·¦N±=J/#3“ŒÌLzž{Wqq1‰Iɺ'DDDDlüýýË¡C‡ùò«¯Ù¿ÿCÇÙ}Žˆ#9effœwsÃ’%ß1nÜøÚȧÎZ¸è«ÒíZ æ]ð$^Œ×§NãHj3§OsøØ"""âsæÌfĈѵ†Èy-š_íú`Μ٠~Õy¯ÿ%W@jÃÕWý‹Ü¼<Ö®ßàð±srrùê›o¹kÜm[DDDD¤&©©"·zõ¸í汤¥¥9|ì´£iôìÞíÛ;|l‘šô—{ Vm;ft­<·MëÖL}í‡+""""RÓ´R µùúþù;P""""""£DDDDDDFˆˆˆˆˆˆ8Œ q """"u„§§'………µ†H……xzzÖX*@DDDDêˆÈÈh’’¶RXXPÛ©ˆ¥ÅGbâV¢¢bj¬O}ˆˆˆˆHÑ©SRR‰_IAŠ©}žžžDEEÓ±cçëSˆˆˆˆHa0èܹ;w«íTD.mÁ‡Q""""""£DDDDDDFˆˆˆˆˆˆ8Œ q """""â0*@DDDDDÄaT€ˆˆˆˆˆˆÃ¨‡Q""""""£DDDDDDFˆˆˆˆˆˆ8Œ q """""â0*@DDDDDÄaT€ˆˆˆˆˆˆÃ¨‡Q""""""£DDDDDDæ’ ß/ýö]»3òƱÕ>6óÄ vïÝK~~¾í5£ÉDû®Ý{û¸šLÓ\7j /¾úÚ_n‘ºè’ ?,[À/û÷sèðájûùüÜxËmìܽûR¤V­q‹ŠŠH?~œÃGŽü審‹\jºÃ³gϲiËÚµmÃO;wñòåÜÏÝ5=ŒCøûû±bÉ÷xzzü-Æ©m5^€¬\OII ÷Ý}7ÏM~‘–-ç¾»ÇãääÄ©¬,b‡]Aß>½y{ÚTÞžõ.ïÏ™Ë;3Þä³yóÙ¸i3wßÿ }ûôfÊ«¯‘‘Éÿýg";~ú œœ¸æ_WòÀ½÷àääÄÙ³gymÊ46lÞŒ«« ½{ôàß?„¯F“‰n½ûrŰ¡üúëIöþü3ž^žÜpÝuŒ¿c÷=üH…ãö£{×®Ì~çmò xëY¬]·žSYY7jÄÐÁq¶"ë£O?cU|<ûö AýúÄÀ¿~·zõ¸÷¡‡/hœ³gÏŃ÷ÝC—NìÎÇÉÉ©¦ßV‘Qã[°~X¶oooºtêHìÀ=vŒ={÷VéØQ#FЭkFß0‚‰M`äu×ÙâgΞåìÙ³ 2gƒæ~DòöíX,îäÿX¹z5—Bïž=ùnÉR&=ÿÂy¹\yÅ›Šyç½ÙìÚ½Ç±Z­L˜ø8ó,¤iÓ0î¿çnú÷ëKAA­««+=ºuãß=HTd$ó~ÉÇŸ|Z¥ù•7NëV—qËØ›H;šÆ÷ÜÇž½?ÛˆˆˆˆH]U£+ ¿ž;»Êcî?x€ýûU¸ÍiÙŠ|8÷c:DII yyyUããôéÝË6NçŽqwwgÿås!óq´-@~X¾€={.³UèäÉS$§l'¼EéE²Õb½è±l×ÿV+> |3òâ *Ó®YÓ° Žw:wxõs©è˜_öïç¿O>MófÍxáÙghܘÛî_íþ9×ÿŸ‹ƒÁ çr¹˜ùˆˆˆˆˆ8JÝrôØ1vïÙÃ5ÿº’Û¶Ø~¾^0€–-£~}o:d»Pþ󳳡4¥¼¼|ª*"¼t…ãXz:]:w*óãååU¥>ª2nTd«â×`±X΋ïܹ «ÕÊ5Wý‹áÆѮm›‹gæM¶ó³s×n ‰Œˆ¬Ò|DDDDDê¢[ùí»?b,ózDx8á-Z°bÕj&>6V—µdÏÞŸyô¿c±”°~ã¦2íCCBxëYìÛ¿+pçí·U:vTdýûö%aÝ:ø÷ÿÑ©C²²²hÒ¤‰íž {ª2n«–-éÛ§7ëÖo`üýЫGNŸ>Ùlfâc -ícñ·ßáíåEbrò…sÙeôìѵëÖ3ñ©§‰gÁ¢¯0 Ü5îö*ÍGDDDD¤.ª±—¯ÀÓÓƒîÝ»:8Žìœ6oÙʤ'Ÿ eL ë7näà¡CŒ5²LÛ+† ãò¡C8sæ _~ý5¿ü²Ï¶%©2¯L~›Fâðá#¼÷Á‡$¥¤pöìÙ*ç_•qœœxý¥;f4ééÇywöû$¬[Oý èÞµ+wßyg³³™:}…„·h~AãLyõFß0‚?íä£O?£YX}0›è(­€ˆˆˆˆÈ_—SffÆyW÷K–|Ǹqpˆˆˆˆ0gÎl†¿ê¼×kü{@DDDDDD*¢DDDDDDFˆˆˆˆˆˆ8Œ q """""â0*@DDDDDÄaT€ˆˆˆˆˆˆÃ¨‡Q""""""£DDDDDDÆ¥¶ù«±X,$%mãàÁýÔv:"""—Œ§§'‘‘ÑtêÔƒ¡fÖ.T€ˆˆTSrr"¿þú+Æ ÇËË»¶Ó¹dòóóذaÉɉtéÒ­FúT""RMìcàÀÁ˜L&ŠŠNÕv:"""—ŒÁ` k×n¬^½²Æ Ý""RM89•nÅù;+ý[çT£[޵""rJJJj;‡¨é¿yZ‡Ñ ˆˆÈ°Z­µ‚ˆˆÈ_’V@DDDDDÄa´""r´"""ra´""""""£‘  ‘ ScÈ•×^ÏÑcÇ*ŒóåZ4o^SɈüeñùüù¬ß¸™³ÙÙøûÓ³{WÆŽ»»{•Û<öÄSôìÞ뮾ê¼1n¹c<ãïGŸ^=*ÍeáW‹ùø³Ïù÷C÷7p`ÍOVDDÄŽ+@>ÿx.Ös_ÊõùülÝ–Èô)¯Ûâõëׯ©¡DDj]uV@f½ÿ>©©G™ôä4kÆñŒL¶%&áææfë§*mœ]puu-wlƒÁ€‹‹‹Ý¼¶lKÄÏÏ—-[‰0 ê®ŸÍ_@ZÚQžøÏ‡Ž+""uK > ØþÛÃÝ|}}kª{‘:¥ªˆÕjeóÖD^|nQ‘á”””Ð,,”¨ˆpòóó«Üæ÷þ*»²XÖéÓü²o{”©oΠ°°Ð¶ºâ''œ Ú¾&"òç°{@>üèc–¯\Å‚Ï>±½ö˾}Ü~×ÝįX†[½ztíݗ믽†«VSl2ѹS'žøÏcŸŸÏ+oLaýƸ8»pùÐ!xç-4h@aa!ï}8‡Ää\œ]è×§7·Ü4—Ò?%#ÇÞÂÈë¯cíú¤?Nãà`¾ÿ¢"#yvòË$¥¤°aÓ¾žÿ9ÎÎÎ5:G©ûV€ 2˜3ß!íèQš†…°|å*è[½z@鿆AA,^0Ÿ“§NòüK¯pσñåŸa0xrÒ³X,V¾ž?b³™;ï¹ À@n¾éF\]]éоaa¡Žš’ˆüƒUçSü;o¿7ßžÉC‡5âzÂBC.¨ €ÉXD^^Þy¯[¬VÀZi^[¶n£[·®X,ºtîÄ–m‰ôèÖÕîGFhH(/¿þï~0‡7^~‘7ßxæ~Ä‘ÔT^ùE233µ""r ,Zü-Ÿ|þE¥mÆŒ¼1#G8(£²öÞ&Mh×¶ ËW®Jÿx/_¹’¡qqeÚulßž êÎägŸáÀÁƒ$&%sâ×_‰OXË#ÞŸŸ ƒ‚KÂúõ¥1˜üì$úôêå¨)‰ˆTÉÆ2wö{äæåñÀ¿åÕ)S9œšZí6s?ýœ1·Ž;ï'++«ÒòóóÙþÓNºvê„Õj¥[×.lÙ–HII yyù,_¹šÿ>ú4¨ïÉXD˘Ûñ§²N³yk"÷Ž¿³ÙŒ³Á‰¸AIÚ¾½Ì8úö%¤IcÌfƒ 5í(gΜ¦¸ØDII ™™™dff^йûn{#÷ßsw…ñ»ÆÝÎ]ãns\BâÐÇð2„o¿ûwÞ~¿ìÛÇé3géñ‡åÿ? %((éGprr`ÔØ[lq³ÙLófM/yÞ""VOîóóó ôgÆ”7Ø·ÿ~ô1þ÷ &OzšËZÆT¹ ÀC÷ßÇØ1£Îcø5×cµV¼’˜’‚›[=5 $//èÈHòòòøi×:´kÃñŒÒÕˆ†A¶­_ÅÅ&Û\33O0îîûl}–””Ð4,´Ì˜&““©ô¸úÞõ)..¶Åk¦U‘K+//k¯ú3ß}¯Lì®q·3ú†äææÖFj€ƒ ¡q±¼1íMRÓÒX¾r±PïÜö«Š8ᄇ»î8;;³yíí‘¿œââbNŸÎ¢qp#^~á9žzöyV¬Ž/S\T¥Ñh$##£ÚãoÝ–DAA!£o¹½Ìë‰IIth׋µ«ÕŠÉd*÷w¬——ÎÎÎ$¬XV&^RbæäÉ“åŽi±”T;O©ùùç!¿yyµW|€ƒ ÀÀ@:wêȲ+Y¾r{´ÒöÇÒÓùõäIb¢£hÔ¨V«•¤äºuíâ ŒEDÊw¡Ÿâ—® ð£¨ÈXn?•·©x•£¢'d™Š‹Ù–”Ìk/M¦ß¾¶×ßûàC¾ýþ{n¿e,¡MB°Z­ü¼o­Z¶,3G«6,ý¼jõjÚ¶i]áüþ˜ÃŸW< 'ŒÆòç,""5///—k¯º£ÑÀè®'77§–³rà= ¿¹|è>Ÿ7Ÿìœlºwíz^|ïÏ?“——Gúñã<ýÜóôëÛ‡˜èh|}|¸òŠË™ôÂd¶%&a49pð çö[,&½0™M›·8zJ""23köû$%§p*+‹Ì¿òÝ’¥ü°lCbc«Üæbìܹ €˜¨H22ŽÛ~ztïJVÖi<„··—»ïÏáè±cðÓ®]¶>¼<=¸|èÞ~w6;wíÁd2‘vô('Oªrì?xˆ³ÙÙœÍξèy‰ˆˆ}yyyŒ9‚1#kwÛÕ9t nÐ ^|å5®ºr8®®®çÅÿ·t)Ìýƒ³ýúñèÃÙbOþ÷?LŸùO?ÿ<ÙÙÙ´hÞ‚;o¿•ÆÁÁ“˜”LLT={twä”DäÈrî‹Wí)È/ ž›;~ü §NeáææFtT$S^y™Í›b4«Ôæ÷q­•Œ]~lkR½{öÀb±”Y}nذж&&ÎÃ÷ßÇìçðÌó/R¯^="Â[”öjµ`6›yðÞ»ùðãOyëÝYäääƈk¯"Àßÿ÷ ¬[V«¥Ì¹ê×§7kÖ­åî沘hžybb•Ρˆˆ\œì:ö¡SffÆykáK–|Ǹqã/É€‹…¸Ë‡óâsÏžW(tìÞ“9ï½KÇí/ÉØ""5aΜÙôë7°Jm  øàî³ V«“©˜ÜÜ[aQ•6AA )**,÷¬ÆsöìY Ï‹ùùùáädàôéóŸ”Laa!ÙÙÙ899áã㋇‡V«•]»ws÷1ÿ“¹¸ººž‹ûàîîÁ`Àl.&77×6fHH(§N´å\¯žAAA¤§³Í3 zõ\1Mœ:Uþ½#""R÷¬]_íú`Μ٠~Õy¯;|$1)™’’þ¿½;¯¢¼û>þ='!d!d# $¬VEÙ#’²¸Tµ.w½µÒVk{·ÚZ[­íc[ko«­¶Õ¢àÖûn­Z,ʪÂ#ÈšQ aÍJV“““³ÎÌóGähÈÍ™àó~½æõÊÉ̹æ7×ü3ßsÍ53yÒD»w ½¦§ó ÃPSS㿽$ÕÖét]UUU§ë;oûóÚ-ËRSS£ššÚ?ïü।~ýú…ž°ÕÔÔ$©é¸mUT”wøìóy;üÏ0Œ.pf°=€¬X½ZÏžzs.œŠNljԵuu2 C™Úà€^þç2]}Õ•=¾Ý €ž°5øü~½µn½ýíoìÜ-ôº£óN'¥eeZ¹z­***•œœ¬«æÏ×ü¹—«­íØ7¯p²l ýcb´iýۮ߱m‹ÕÀÉ;G@.™=[W_y¥úõ‹‘ar»]jii9-9Ü'Á4O¿‹r—ËÕgÑ8}@à$0*ÀÉ!€ÀI8ç€`œF@898Añññòù|Љ‰‰t)„ßïS|||¯µG€4zô:t@Æ „Nk~¿_‡t4šw}IDATPnîØ^k“'h„Ir8¤½{KÕÖÖér›øøxåæŽÑLìµ6 p‚œN§&Nœ¢‰§DºN9ÎHàÌA`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@؆À6¶!€°Mt¤ ÀéÍ4Mjß¾½jkk‹t98ñññ=zŒ&L˜$§³wÆ. «’’"ÕÖÖêK_š§„„‘.'ÀínÕ¦MURR¤I“¦ôJ›„UYY©fͺD~¿_^o}¤ËÁ p:šwŒ€° # ;˲"]úF@؆„# 8Šô)5Gjô—ÿ®C‡vº?°¯ ô*F@v=±,Ko¯K×.¼VíùPûÐÌ‚™¶©­=¢M[6êì¼s4vl^ªE81€>Á4M9Íš9K¯.{EçžwžZÝnÕ××…¶9xè€v´[_¾öÕ7ÔioÙÞ·ÿW—iÞÂkõÖúõÝn[U]£y ¯UKKËIK$œ*5@v–eu¹ÔÖÕê_Ë—©¾¾NÙCrär¹äö¸•—7VMMŸ|¶]íåççËånÖÎ9GÛ ·ª¥¥¹Ûö-ËÒ¶Â"¥¤$kÛö¢n·u:Û/“GÚî K8kîMÜ‚€°ëî"v{Ñ6͘Q åo,—a5zôYJ˜¤µ«×êª eY–ŽÔÖ¨¹¹Y’Cо²ýºhz’’’»}Y^Cc£>.-Õ½÷Ü­Gÿ¸<bcc»­7àárªÔL@ÄM›2M[·mÑÕ×\ºËéŒÖÙgŸ­UkVj´{÷*(ø¢Ö¬]¥Ô”4Ë;[ycóäv»»m{Q±rÏ:KåOÓ£¿\;Þß©ü©SBë ÃÐÿ¾ômxw³ZÝ­Ê2$´îµå¯kÍ[ëôäã…þ·rõZ½±j•þü‡Çôʲ״qÓUTV*i`¢æÏ›«… æK’®»éf]wÍÕÚðîfUVUipV–îüö7•;z´¤öÛÎ^}m¹Ö¿³Aõõõ5j¤îýÁ÷•œ”$Ç£¿,Yª¢’ŠŽŠVÁEÓuóWnTttt·5÷e„]w¿ÈgeQLLŒ¶o/”ÓáPùá ΢y—ÏSKK‹víÚ©‚/ÎÔªÕ+5uJ¾òÆŽ“ßïWk««Gûß¶½PS¦L–išš4q‚¶iڔɡõÏ<û¼>ú¸T¿{ø×ÊʬÍ[6ë§?P–eiάÙZòü‹*¯¨PNv¶$i{q±.™3G–eiÆôéºxöleeeió–­zà—jüyçjäðá2 SÍ-.Ýÿ£{”“£‡þû·zꙥzä¡_I’–¾ðWíþð#=pÿ}1|¸ö–•)9)I–eéÑÇŸÓ­—^|^þ@Pßúî]JMIÑ•óçu[s_a"ÎçójÁ •{ÖXåŽÎÓ-ÿ¹H^WË^û§š[>ÑŒ‚½ñÆrM™Ôù磪êjY–¥ÁY |ú~‘`0ª; jfÁ ­ç]5ÿ ïxOÙC†(3#C†a¨²ªJ/½üŠ>úx¯ZZZäjm•i¡cöû}òûý’¤Ä‰ ²,KUÕ5r8JMI­?ŠjjŽH’Ýþ­Ðq†¡aCs>ýn×5÷åúÓ4åv»UÛÔÃ˪UÕà׬q¹jY¹B¿_ãÏ?W‡¦è‰?ýAçœsžü>¯6oÞ¤oø9ŽNÛÝ^X¬¶6n¸ùÖÿ/*.Öùç#Ã4%I@ Ó0sá´©zrñÓjjjÒ¶Â"ÍžY Ã0d†î¹ï'ºü²Kµè«·hРtÝþíïH:~=¦ùÙdù T0T0xì~â¥wÞ\£¨¨¨Ðÿ #¨ºººÕÜWZÕà”ÔÓǽ®û Uw=[©‹Ægê¡ÛÎÕ®ý ª Wÿ˜þzûí·5*w„î»ï~Í;W×_£&%iÇ{;:mÏç÷«°¸D¿ýõƒÚ¶ñв薛µyÛ6†¡ÁY™2MSïÝ{Ì£g-«½ö¤‰;&WïnÙ¦ÂâåO›*˲tààAµºÝºõæ›401Q^OÛÑ#>¦öå³þ2xpû~KK©;##S–eéíuëT]]Zjkk?ùè¾æ¾ú^"Îë7õð¿êõÏí­ºëÚ³tÎÈ$í>ܬòÇôŸWLÒW¾r³>þ¸TMMZ½f¥~öóô£{¨³Ç­5kWwÚî®]H’ÆæŽîp!?mêd544ªlß~¥$'+êTýù/Ïhßþr»ÝÚõÁî톡™3fè•eË”>(MC²²$I))) ƒZµöM577ëõ«t¸¼¼GÇœœ”¤™úóâg´·¬Lþ@@‡ËËeY–âãtùe—êO-Ö®>”ßï×áòrÕÕ×·ï·›šMÓÔOþEソ³GŸíD@Ø™¦Ùå²ã Gõ>}cþ0%ÆE«´Ê¥—^~S÷|%_ãÚ½ûed¤+>>^7lÔÏþÏ/ôóŸýR¯¼ú²æÍßi»Û‹‹5=Ú1ÿÏÊÈÐМlm/*V п—ÒÒRu÷½?Ö7¿s—JËö*))I–õÙwò§MÑ'Ÿ4kfAü~¿LÓTZjšî¾ëN-}þEÝqç÷US{Dç?O¦iÉüô6©Ï·aYf¨?€îùÞº`üxýæ‘Ç´èö;ôÌs/¨¥¥EÁ`Pß¹ãv̸HO<õ¤nþúmzâÉÅÚà@è»]Õì÷ûõÑž=ª®9"ÓìþswKorÔÔT3¦²bÅr-Zt[¯îg¦¥K« `V—ÛøÌ~úê#EúÉ¢)ªnèý’2Úšô³;¾¤¶6·öíß§÷v–hÞsõÇÇÿ¤ë¿|ƒFŒ©ääù|^µ¶¶·Ý””9N566³.++KGÍÍÍŠŠŠRjjª ââbåõú«šššÐxtt´²²²är¹>}!b»(1q $Éãñ¨_¿h¹Ýmjks+;;Gõõuòù|’¤˜˜þJOOWee…$Éét*))I±±±r8œòûýjll½ ¥}]œœN§‚Á€\.—<$uY³eYÊÌÌRk«K­­­r8]~îΆ ëO8,]ºXóæ-8æÿLB@Øu7 6*¨_/¯{~ÿªò†&©lß~-{â[r»Û/ŽsGQÉŽ"½þ¯:ÿ‚ñúëßþGwÜ~‡ Ãè²íÆÆÆN×UWö¨Ü`0¨ÚÚZ9N55ÿÿ@  òãÜ^år¹ärÿ‘À·÷ù¼þgF§5Z–¥¦¦&IMÇ]ß]ÍÕÕUÚêê³ »îˆa;$VÿÕ—U´sŸ&Ý~±|wè{¦iè›·}[Å%EZ¹j…®YxR’SB­í-½ÝžNµš »£sºâñ´©_t´fN%ŸÏz¯…$†©ºº#—7NùÓòÕÜÜ,—«%œ%#L »ž>Ê5„^¬w¼6\®‚Ç)Ž€°3;ûfnØ‹€°ëí—ÙáÔE@ØõdÎ „# 8Š€°Š—ÏçSLLL¤KÁIðû}Šïµö «Ñ£ÇèС6l!äã÷ûuèÐåæŽíµ6 « &Éáöî-U[[[¤ËÁ ˆWnî]pÁÄ^k“€°r:š8qŠ&NœéRÐ8#]€3€m lC`Û@؆À6¶!€° €m lÝÙŠ¥KÛY€3€£¦¦ÚŠtÎ Ü‚À6¶!€° €m lC`Û@؆À6¶!€° €m lC`Û@Ø&º³–eiÏžTUU!¯×kgMg¬ØØXegÕØ±yr8‘.D×a½§'×WôwïéI;jjª­ã­Ø³ç#¹ÝnMœ8Iqqña-í<ž6*!a€òòÆEº!{ö|¤ÖÖVMŸ~‘DºœSšÛݪM›6jÀ€ÄN¯¯èïÞÓ“þît¤²²\sæ\¦¸¸¸°ˆŽâââ5qâd½ýöZg°£×a~¿_^o}¤Ë9¥9NMžˆ_äíEÛÇö²üª9rä˜ÿ/¼rÒ ²»€3ŠišZ½öMmØ´Y”eIi©©špþyúÆ¢[#ZÛük®ÓÃþBgË‹háæñxõ?ÿ»ÞݼUŸ47+-5UùS'ë¦oPlll¤Ë »ˆŒ€Lœp¾0®ã›cbb"QŠ$©¨¸DMMºôâ9«àóÂñ‹¼aúåC«¼²R_¿õå«ÄÄDUTT¨²ªªOŒDEEE¤;÷ùäÓOëСr=pÿ5|øPUUר°¨Xýû÷ïç Ü"@¢££ûTº3L^<ú–p\ˆ®Zû¦ªªkô¿Ï='Ë2eY¦rGŸ¥¼±cäñxz}Ÿ'ʲ"s;”]û´,K[·éW?@¹£GÉ0 š£Ü³FÉívÛRC¤õ©9 5GŽè•«tåü+B·c½µn ÃÔe—\,IZòÜó7v¬ö<(Ã04dð`]8mšâ%IÁ`PE%;tààù|~e¤§ëÂüiJNJ’$-}þó…/hoY™‚Á€âÔØÔ$Izzé³’¤¯}õ9Ìϧ—eÿz]ßüÆ×åñ¸;\pÿÿo®~eÙkÚ¸i‹**+•40QóçÍÕÂó%I×Ýt³®»æjmxw³*«ª48+Kw~û›Ê=ZRû-^¯¾¶\ëßÙ úúz5R÷þàûJNJ’ÇãÑ_–,UQÉEGE«à¢éºù+7*:ºO]’†]”Ó©;w鬑#$µ÷ è°Mgçàµå¯kÍ[ëôäã…¶]¹z­ÞXµJþÃc§DG¤Ã0ä÷ûCŸ‡úõ맬ÌL3F6¾«…W.PEe¥Ê+*uݵׄ¶5MS úòÕWËÝæÖ»›6kÕš5ºfáUr8Ú¼e«jëêtÙ%—(>.N…Å%zýºñúë-˲ ´`Þ\–e©¾¡Q[·éŽÛ¾¦`0¨(§CÏž¥â÷Þ Ï÷as¿t™ž]ü¹Z[õ_ß»[ÿîQ8t¨Ã6ƒ¤¤D=nœ ‹K$µ÷ùû;wizþÔS¦#22uÊd?÷Ü㮋‰‰Ñ…Ó¦é­uë”™™¡qyc»lkàÀD%$Äë“O>‘Óé”Ãáè,œN§Ò¥«¹¹¥W œzûùÌŒ 9UUUkÔÈ]n[YU¥—^~E}¼W---rµ¶Ê´ŒPM~¿/t7Kâ€DY–¥ªê9¥¦$‡Ö½½«¦¦ý)¨‹nÿVh?†ahØÐœÇjY§ÿˆÛݪôA©züw¨to™–<÷¼îþÑõà? ]ûvv‚Á fÌÐúwÞÑUó¯PñŽ÷”=dˆ232´s×nIÝ÷q¤õ›Á>'&¦Ÿ¤ö[³zÆÑ~_['ýêpœH[§Ÿ¨¨(ådgkç®]]Ã0tÏ}?Ñå—]ªE_½Eƒ¥ëöoGÒñ¯¥ÌÏ=Ì'h  Ž™O›§¨¨(½óæEEE}nAÕÕÕý;‡vJ jllÐà¬L=ôËŸë'?û…Þ\·^ãòÆv{.œ6UO.~ZMMMÚVX¤Ù3 dÆ)ÓÇ}n¦uÐ0´qÓf]pþx544êãÒÒ.·w¹\r»ÝJKKSRÒ@™¦©ú††ÐzÓ4U[W¯äääNÛp8œ ®°ÛÑ‘€ÞZLÓÔ-7ý‡þöò«¡Gîo9pð ZÝnÝzóM˜˜(¯§íhE¡_Ñ>©ª}ù¬Þ!ƒË4M}\ZzL»™²,Ko¯[§êêªÐR[[ÛaÔÃ4{÷¸{:¢Ž}ödñû}jjjTZZŠúõë×£s40QcÇäêÝ-ÛTX\¢üiS{ÜÇv-]‰H9: ýóËÑÉPÅ%%Šíß_“&LÐÔÉ“´u{¡ÚÚÚ:|¿¾¡A~¿_.W«þï†>l¨ÒRS§ÜÑgiã¦Mjni‘ßï×¶ÂB9Ž.“þ€„564ÊãñÈãñȲ,mØø®**+%©Ûϧ‚éùùš1ýB}ï‡÷éÕ×þ¥Ò½ejllÒžÒR½üÏe²,K))) ƒZµöM577ëõ«t¸¼¼Gí''%ifAþ¼øí-+“?ÐáòrY–¥„ø8]~Ù¥úãS‹µëƒå÷ûu¸¼\uõõ¡ï§$'«ä½jhl WDœ?Г‹ŸVqÉÕ74¨æH­–¯X©UkÞÔ¥sÚˆÔÝ90 C3gÌÐ+Ë–)}Pš†deIRú¸/ˆÈ-XEÅ%*útâÌQ ¯\ (§SìþPW^q…‡Æåå©´lŸ6mÙªKæÌm[Z¶W;Þ_N§CÆSþÔ)¡u3.ºHÛ¶m×+VÊ0 efejÁóº|ôØY£F©lÿ>ýí¥(3+S—]|±*««•ššªœìl†Ñåg€ÞÖÝ“ªN†ÇÓ¦ÿðš~a¾^_±R¯¯X%׫ôAiš¿O£FŽÔÝßý/%&&ê;wÜ®%Ï¿¨'žzR--. ͪk.PZjª$éÆë¯Ó’çžÓžKõÓû~dë-ôáèïãis·)¦¬–<ÿ‚êëÔ¿É­ßýæ!1L>Ÿ¯Gç Ú=õÌÍŸ;74߯4Ínû¸/pÔÔTwŒdÅŠåºöÚì®§[O/}VóçÎUVVf¤K ›W^ù»æÍ[é2@„¬X±\³ÂÖ~||¼âãÔ¯_?9ƒ†|>¯š››eY–  ÄÄ’$Ç£~ý¢åv·©­Í­ììÕ××ÉçóI’bbú+==]••’Ú”””¤ØØX9Nùý~566È4M9ŽO×ÅÉét* Èår…^€˜˜˜¨ÄÄòûýª¯ïÝ9 6¬ïôú*ÜýýyN§S&)6¶¿¢¢¢eY¦üþ€\®–PŸJêòHí/öÎÊÊ’ËåRsssè{Ýõ±]ºêï>9 àLΧ¹Ýî.ߺír¹är¹Ž»®¢¢ãíX>Ÿ·Ãÿ ÃPccãq¿kY–ššš$ÿ«––µ´DæÉ¥áìïÏ3 CMMÇïŸÏëêHí“ØËsk\w}Ü@ú ».ˆÑŽþ¶ ::·ö ¿ísÊo,º5Ò%„¿ÈÛ‹þ¶Ï)@Φɱèoû@ú ~‘·ým@Äœ{Ñßö!€ôAü"o/úÛ>ØØXy<ÅÅÅÙYÏÏãiSlll¤Ë+ŸÏ§˜˜˜H—rZðû}]^_Ñß½«»þî4€dgUqñvMœ8Yqqña)y danfruehauf-NetworkManager-ssh-f65d65d/nm-ssh-service.name.in000066400000000000000000000004411507335542500242660ustar00rootroot00000000000000[VPN Connection] name=ssh service=org.freedesktop.NetworkManager.ssh program=@LIBEXECDIR@/nm-ssh-service supports-multiple-connections=true [libnm] plugin=@PLUGINDIR@/libnm-vpn-plugin-ssh.so [GNOME] auth-dialog=@LIBEXECDIR@/nm-ssh-auth-dialog properties=@PLUGINDIR@/libnm-ssh-properties danfruehauf-NetworkManager-ssh-f65d65d/nm-ssh.desktop.in000066400000000000000000000005761507335542500233720ustar00rootroot00000000000000[Desktop Entry] Name=VPN Connection Manager (SSH) GenericName=VPN Connection Manager (SSH) Comment=Add, Remove, and Edit VPN Connections Exec=nm-vpn-properties --import-service org.freedesktop.NetworkManager.ssh --import-file %f Icon=gnome-mime-application-x-ssh-settings Terminal=false Type=Application Categories=GNOME;Network; MimeType=application/x-ssh-settings; NoDisplay=true danfruehauf-NetworkManager-ssh-f65d65d/po/000077500000000000000000000000001507335542500205735ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/po/.gitignore000066400000000000000000000003741507335542500225670ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app *.gmo autom4te.cache/ Makefile Makefile.in POTFILES stamp-it .intltool-merge-cache.lock .intltool-merge-cache danfruehauf-NetworkManager-ssh-f65d65d/po/ChangeLog000066400000000000000000000472401507335542500223540ustar00rootroot000000000000002009-04-23 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). 2009-02-13 Mario Blättermann * de.po: Updated German translation. 2009-03-27 Priit Laes * et.po: Translation updated by Mattias Põldaru 2009-03-24 Jorge Gonzalez * es.po: Updated Spanish translation 2009-03-24 Ignacio Casal Quinteiro * gl.po: Updated Galician translation by Suso Baleato. 2009-03-24 Daniel Nylander * sv.po: Updated Swedish translation. 2009-03-21 Christian Kirbach * de.po: Updated German translation. 2009-03-20 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. 2009-03-14 Duarte Loreto * pt.po: Updated Portuguese translation by Filipe Gomes . 2009-03-12 Andre Klapper * cs.po: Updated Czech translation by ZdenÄ›k HataÅ¡. 2009-03-12 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2009-03-10 Claude Paroz * fr.po: Updated French translation. 2009-03-09 David Planella * ca.po: Updated Catalan translation by David Planella. 2009-03-08 Milo Casagrande * it.po: Updated Italian translation by Francesco Marletta. 2009-03-06 Sandeep Shedmake * mr.po: Added Marathi Translations. 2009-03-03 Gabor Kelemen * hu.po: Translation updated. 2009-03-01 Og Maciel * pt_BR.po: Updated Brazilian Portuguese translation. 2009-02-24 Kenneth Nielsen * da.po: Updated Danish translation by Mads Lundby 2009-02-20 Nickolay V. Shmyrev * ru.po: Updated Russian translation by Artem Popov. 2009-02-17 Tomasz Dominikowski * pl.po: Updated Polish translation 2009-02-15 Daniel Nylander * sv.po: Updated Swedish translation. 2009-02-13 Jorge Gonzalez * es.po: Updated Spanish translation 2009-02-11 Priit Laes * et.po: Translation updated by Mattias Põldaru 2009-01-26 Gil Forcada * ca.po: Updated Catalan translation by David Planella. 2008-12-16 Gabor Kelemen * hu.po: Translation updated. 2008-12-07 Simos Xenitellis * el.po: Updated Greek translation by Evgenia Petoumenou. 2008-11-29 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-11-25 Michael Biebl * de.po: Updated German translation by Christian Kirbach. 2008-11-22 Mario Blättermann * de.po: Updated German translation by Hauke Mehrtens. 2008-11-19 Tomasz Dominikowski * pl.po: Updated Polish translation 2008-10-22 Daniel Nylander * sv.po: Updated Swedish translation. 2008-10-21 Og Maciel * pt_BR.po: Updated Brazilian Portuguese translation by Fábio Nogueira and Vladimir Melo. 2008-10-18 Jorge Gonzalez * es.po: Updated Spanish translation 2008-10-11 Jorge Gonzalez * es.po: Updated Spanish translation. 2008-10-09 Raivis Dejus * fi.po: Added Latvian translation. * LINGUAS: Added lv line. 2008-10-04 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-10-01 Priit Laes * et.po: Translation updated by Mattias Põldaru 2008-10-01 Daniel Nylander * sv.po: Updated Swedish translation. 2008-09-26 Jorge Gonzalez * es.po: Updated Spanish translation. 2008-09-25 Claude Paroz * fr.po: Updated French translation. 2008-09-25 Gabor Kelemen * hu.po: Translation updated. 2008-09-25 Žygimantas BeruÄka * LINGUAS: Added "lt". 2008-09-25 Žygimantas BeruÄka * lt.po: Added Lithuanian translation. 2008-09-24 Daniel Nylander * sv.po: Updated Swedish translation. 2008-09-20 Luca Ferretti * it.po: Updated Italian translation by Francesco Marletta. 2008-09-17 Petr Kovar * cs.po: Updated Czech translation by Jiri Eischmann. 2008-09-15 Wouter Bolsterlee * nl.po: Updated Dutch translation by Wouter Bolsterlee. 2008-09-14 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-09-09 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. 2008-08-25 Daniel Nylander * sv.po: Updated Swedish translation. 2008-08-24 Tomasz Dominikowski * pl.po: Updated Polish translation 2008-08-24 Tomasz Dominikowski * pl.po: Updated Polish translation 2008-08-22 Tomasz Dominikowski * pl.po: Updated Polish translation 2008-08-22 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). 2008-08-21 Runa Bhattacharjee * ps.po: Added Pashto Translations by Zabeeh Khan * LINGUAS: Added Pashto to the List of Languages 2008-08-18 Claude Paroz * fr.po: Updated French translation by Robert-André Mauchin. 2008-08-14 Jorge Gonzalez * es.po: Updated Spanish translation 2008-08-14 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-08-08 Leonid Kanter ru.po: Updated Russian translation 2008-08-02 Alexander Shopov * bg.po: Updated Bulgarian translation by Alexander Shopov 2008-07-31 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-07-31 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-07-25 Daniel Nylander * sv.po: Updated Swedish translation. 2008-07-20 Jorge Gonzalez * es.po: Updated Spanish translation 2008-07-11 Tambet Ingo * de.po: Fix typos (From Markus Becker ). 2008-07-05 Jorge Gonzalez * es.po: Updated Spanish translation 2008-07-04 Leonardo Ferreira Fontenelle * pt_BR.po: Brazilian Portuguese translation updated by Henrique P Machado. 2008-06-28 Jorge Gonzalez * es.po: Updated Spanish translation 2008-06-25 Jonh Wendell * pt_BR.po: Updated Brazilian Portuguese translation by Henrique Machado. 2008-06-24 Daniel Nylander * sv.po: Updated Swedish translation. 2008-06-06 Clytie Siddall * vi.po: Updated Vietnamese translation. 2008-03-19 Gabor Kelemen * hu.po: Translation updated 2008-03-10 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2008-03-09 Philip Withnall * en_GB.po: Updated British English translation. 2008-02-28 Gil Forcada * ca.po: Updated Catalan translation. 2008-02-20 Inaki Larranaga Murgoitio * LINGUAS: Added 'eu' (Basque) entry. * eu.po: Added Basque translation. 2008-01-19 Stéphane Raimbault * fr.po: Updated French translation by Robert-André Mauchin. 2007-12-29 Changwoo Ryu * ko.po: Updated Korean translation by Namhyung Kim. 2007-12-26 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-12-05 Jakub Friedl * LINGUAS: Added 'cs'. Bug #501019. 2007-12-03 Jovan Naumovski * mk.po: Updated Macedonian translation. 2007-12-03 Changwoo Ryu * LINGUAS: Added 'ko'. Bug #501020. 2007-11-02 Priit Laes * et.po: Translation updated by Mattias Põldaru. 2007-11-02 Kjartan Maraas * nb.po: Updated Norwegian bokmÃ¥l translation. 2007-10-31 Gabor Kelemen * hu.po: Translation updated 2007-10-28 Priit Laes * et.po: Translation updated by Priit Laes. 2007-10-28 Priit Laes * et.po: Translation updated by Priit Laes. 2007-10-26 Jorge Gonzalez * es.po: Updated Spanish translation. 2007-09-23 Gil Forcada * ca.po: Updated Catalan translation. 2007-09-15 Leonardo Ferreira Fontenelle * pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto . 2007-08-17 Kjartan Maraas * nb.po: Updated Norwegian bokmÃ¥l translation. 2007-08-15 Kostas Papadimas * el.po: Updated Greek Translation 2007-08-11 Ilkka Tuohela * fi.po: Updated Finnish translation. 2007-07-22 Satoru SATOH * ja.po: Updated Japanese translation. 2007-06-19 Leonid Kanter * ru.po: Initial Russian translation 2007-06-11 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. 2007-06-07 Jorge Gonzalez * es.po: Updated Spanish translation 2007-04-29 David Lodge * en_GB.po: Updated British English translation 2007-04-24 Daniel Nylander * sv.po: Updated Swedish translation. 2007-04-14 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-03-20 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-03-10 Hendrik Richter * de.po: Updated German translation, by Thomas Gier 2007-03-07 Vladimer Sichinava * ka.po: Updated Georgian translation by Malkhaz Barkalaya 2007-03-07 Alexander Shopov * bg.po: Updated Bulgarian translation by Alexander Shopov 2007-03-06 Ilkka Tuohela * fi.po: Updated Finnish translation. 2007-03-05 Josep Puigdemont i Casamajó * ca.po: Updated Catalan translation by Gil Forcada . 2007-03-04 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). 2007-03-03 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2007-02-28 Stéphane Raimbault * fr.po: Updated French translation by Jonathan Ernst and Claude Paroz. 2007-02-28 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-02-28 Kjartan Maraas * nb.po: Updated Norwegian bokmÃ¥l translation. 2007-02-28 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2007-02-28 Leonardo Ferreira Fontenelle * pt_BR.po: Updated Brazilian Portuguese translation by Washington Lins . 2007-02-28 Daniel Nylander * sv.po: Updated Swedish translation. 2007-02-25 Priit Laes * et.po: Fixed header, added some translations. 2007-02-25 Priit Laes * LINGUAS, et.po: Added Estonian translation by Ivar Smolin . 2007-02-25 Gabor Kelemen * hu.po: Translation updated. 2007-02-25 Changwoo Ryu * ko.po: Updated Korean translation by Young-Ho Cha. 2007-02-21 Raphael Higino * pt_BR.po: Updated Brazilian Portuguese translation. 2007-02-19 Ilkka Tuohela * fi.po: Updated Finnish translation. 2007-02-18 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. 2007-02-16 Maxim Dziumanenko * uk.po: Add Ukrainian translation. * LINGUAS: Add uk to list. 2007-02-13 Lasse Bang Mikkelsen * da.po: Updated Danish translation. 2007-02-12 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2007-02-11 Stéphane Raimbault * fr.po: Updated French translation by Jonathan Ernst and Stéphane Raimbault. 2007-02-9 Djihed Afifi * ar.po: Updated Arabic Translation by Khaled Hosny. 2007-02-09 David Lodge * en_GB.po: Updated English (British) translation 2007-02-08 Duarte Loreto * pt.po: Added Portuguese translation. * LINGUAS: Added Portuguese (pt). 2007-02-8 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-02-08 Josep Puigdemont i Casamajó * ca.po: Updated Catalan translation. 2007-02-04 A S Alam * pa.po: Punjabi Translation is added * LINGUAS: pa is added to list 2007-02-04 Changwoo Ryu * ko.po: Added Korean translation by Young-Ho Cha. 2007-02-02 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2007-02-02 Alexander Shopov * bg.po: Added Bulgarian translation by Alexander Shopov * LINGUAS: Added "bg" (Bulgarian). 2007-02-01 Chao-Hsiung Liao * zh_HK.po: Added Traditional Chinese translation(Hong Kong). * zh_TW.po: Added Traditional Chinese translation(Taiwan). 2007-01-31 Ilkka Tuohela * fi.po: Updated Finnish translation. 2007-01-30 Ignacio Casal Quinteiro * gl.po: Added Galician Language. * LINGUAS: Added 'gl' 2007-01-30 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2007-01-29 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2007-01-23 Theppitak Karoonboonyanan * th.po: Added Thai translation by Supranee Thirawatthanasuk and me. * LINGUAS: Added 'th'. 2007-01-21 Josep Puigdemont i Casamajó * ca.po: Updated Catalan translation by Gil Forcada 2007-01-13 Raphael Higino * pt_BR.po: Updated Brazilian Portuguese translation. 2007-01-13 Kostas Papadimas * el.po: Added Greek Translation * LINGUAS: Added el to the list 2007-01-13 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-01-12 Jovan Naumovski * mk.po: Added Macedonian translaion. * LINGUAS: Added mk to the list 2007-01-10 Matic Zgur * sl.po: Added Slovenian translation. * LINGUAS: Added sl to the list of languages 2007-01-05 Clytie Siddall * vi.po: Updated Vietnamese translation. 2007-01-01 David Lodge * en_GB.po: Updated English (British) translation 2006-12-29 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-12-28 David Lodge * en_GB.po: Updated English (British) translation 2006-12-28 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2006-12-10 Daniel Nylander * sv.po: Updated Swedish translation. 2006-12-09 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-11-18 Djihed Afifi * ar.po: Added Arabic Translation. * LINGUAS: Added ar. 2006-11-02 Pema Geyleg * LINGUAS: Added "dz". * dz.po: Added Dzongkha Translation. 2006-10-30 Kjartan Maraas * LINGUAS: Add nb. * nb.po: Commit this. 2006-10-21 Gabor Kelemen * hu.po: Translation updated. 2006-09-30 Alessio Frusciante * it.po: Added Italian translation by Francesco Marletta . * LINGUAS: Added "it" (Italian). 2006-09-14 David Lodge * en_GB.po: Updated English (British) translation * LINGUAS: Added en_GB 2006-09-03 Josep Puigdemont i Casamajó * ca.po: Updated Catalan translation by Gil Forcada . 2006-09-02 Daniel Nylander * sv.po: Updated Swedish translation. 2006-08-21 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-08-19 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2006-08-16 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-08-16 Gabor Kelemen * hu.po: Translation updated. 2006-08-16 Gabor Kelemen * hu.po: Translation updated. 2006-08-03 Jakub Friedl * cs.po: Updated Czech translation. 2006-07-28 Christophe Merlet * fr.po: Added French translation from Haïkel GUÉMAR . 2006-06-19 Satoru SATOH * ja.po: Added Japanese translation. 2006-06-17 Marcel Telka * sk.po: Added Slovak translation. 2006-06-13 Jakub Friedl * cs.po: Added Czech translation. 2006-06-13 Wouter Bolsterlee * nl.po: Translation updated by Tino Meinen. 2006-06-05 Gabor Kelemen * hu.po: Translation added. 2006-05-26 Clytie Siddall * vi.po: Updated Vietnamese translation. 2006-05-14 Daniel Nylander * sv.po Updated Swedish Translation. 2006-05-12 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-05-06 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-04-20 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2006-04-12 Daniel Nylander * sv.po: Updated Swedish translation. 2006-04-11 Clytie Siddall * vi.po: Updated Vietnamese translation. 2006-04-06 Vincent van Adrighem * nl.po: Translation added by Tino Meinen. 2006-03-29 Christian Rose * sv.po: Updated Swedish translation. 2006-03-23 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-03-02 Raphael Higino * pt_BR.po: Added Brazilian Portuguese translation. 2006-02-28 Ilkka Tuohela * fi.po: Added Finnish translation. 2006-02-16 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-02-08 Clytie Siddall * vi.po: Added Vietnamese translation. 2006-02-04 Funda Wang * zh_CN.po: Added Simplified Chinese translation. 2006-01-20 Lasse Bang Mikkelsen * da.po: Updated Danish translation. 2006-01-18 Lasse Bang Mikkelsen * da.po: Updated Danish translation. 2005-06-17 David Zeuthen * POTFILES.in: Added nm-vpnc.desktop.in * da.po: Updated danish translations 2005-06-16 David Zeuthen * da.po: Updated danish translations danfruehauf-NetworkManager-ssh-f65d65d/po/LINGUAS000066400000000000000000000003441507335542500216210ustar00rootroot00000000000000# please keep this list sorted alphabetically # ar as bg ca ca@valencia cs da de dz el en_GB es et eu fa fi fr gl gu he hu id it ja ka kn ko lt lv mk mr nb nl pa pl ps pt pt_BR ro ru sk sl sv ta te th ug uk vi zh_CN zh_HK zh_TW danfruehauf-NetworkManager-ssh-f65d65d/po/Makefile.in.in000066400000000000000000000157561507335542500232630ustar00rootroot00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ localedir = @localedir@ subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $* $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: danfruehauf-NetworkManager-ssh-f65d65d/po/POTFILES.in000066400000000000000000000006411507335542500223510ustar00rootroot00000000000000# List of source files containing translatable strings. # Please keep this file sorted alphabetically. metainfo/network-manager-ssh.metainfo.xml.in nm-ssh.desktop.in auth-dialog/main.c properties/advanced-dialog.c properties/nm-ssh-editor-plugin.c properties/nm-ssh-editor.c [type: gettext/glade]properties/nm-ssh-dialog.ui shared/nm-utils/nm-shared-utils.c shared/nm-utils/nm-vpn-plugin-utils.c src/nm-ssh-service.c danfruehauf-NetworkManager-ssh-f65d65d/po/POTFILES.skip000066400000000000000000000000261507335542500227060ustar00rootroot00000000000000gtk4/nm-ssh-dialog.ui danfruehauf-NetworkManager-ssh-f65d65d/po/ar.po000066400000000000000000000370541507335542500215460ustar00rootroot00000000000000# translation of NetworkManager-ssh.HEAD.ar.po to Arabic # Arabic translations for PACKAGE package. # Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Automatically generated, 2006. # Khaled Hosny , 2007. msgid "" msgstr "" "Project-Id-Version: Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2007-12-26 09:06+0100\n" "Last-Translator: Djihed Afifi \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && " "n<=10 ? 2 : 3\n" "X-Poedit-Language: Arabic\n" "X-Generator: KBabel 1.11.4\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "تحتاج إلى التوثيق لتَنÙÙØ° إلى الشبكة الخاصة التخيلية '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "وثّÙÙ‚ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_كلمة السر:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_كلمة السر:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "كلمة سر _ثانوية:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "كلمة السّر" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 #, fuzzy msgid "SSH" msgstr "عميل SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "كلمة السّر" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "اسم الإتصال" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "خيارات SSH متقدمة" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Ù…Ù†ÙØ° ال_بوّابة:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ا_ستخدم جهاز TAP" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "اسم المستخدم:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 #, fuzzy msgid "General" msgstr "مطلوب" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Ù…Ù†ÙØ° ال_بوّابة:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "IP الآخر:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "IP Ù…_حلّي: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "مت_قدم" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "اسم الإتصال" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "كلمة السّر" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "ÙØ´Ù„ ولوج VPN لأن خيارات اعدادات VPN غير صالحة." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ا_سم المستخدم:" #~ msgid "_Domain:" #~ msgstr "ال_نطاق:" #~ msgid "Connect _anonymously" #~ msgstr "اتّصل كم_جهول" #~ msgid "Connect as _user:" #~ msgstr "اتصل _كمستخدم:" #~ msgid "_Remember password for this session" #~ msgstr "_تذكّر كلمة السر لهذه الجلسة" #~ msgid "_Save password in keyring" #~ msgstr "ا_Ø­ÙØ¸ كلمة السر ÙÙŠ حلقة Ø§Ù„Ù…ÙØ§ØªÙŠØ­" #~ msgid "Certificate pass_word:" #~ msgstr "كلمة سر ال_شهادة:" #~ msgid "Certificate password:" #~ msgstr "كلمة سر الشهادة:" #, fuzzy #~ msgid "None" #~ msgstr "لا" #, fuzzy #~ msgid "Default" #~ msgstr "(Ø§ÙØªØ±Ø§Ø¶ÙŠ: 1194)" #, fuzzy #~ msgid "Certificates (TLS)" #~ msgstr "Ø´_هادة:" #, fuzzy #~ msgid "CA Certificate:" #~ msgstr "Ø´_هادة:" #, fuzzy #~ msgid "Cipher:" #~ msgstr "Ø´ÙŠÙØ±Ø©: %s" #, fuzzy #~ msgid "Key Direction:" #~ msgstr "الإتجاه:" #, fuzzy #~ msgid "Private Key:" #~ msgstr "Ù…ÙØªØ§Ø­ مشترَك:" #, fuzzy #~ msgid "Static Key:" #~ msgstr "Ù…ÙØªØ§Ø­ مشترَك:" #, fuzzy #~ msgid "Use L_ZO data compression" #~ msgstr "استعمل _ضغط LZO" #, fuzzy #~ msgid "Use a _TCP connection" #~ msgstr "استخدم ات_صال TCP" #, fuzzy #~ msgid "User Certificate:" #~ msgstr "Ø´_هادة:" #, fuzzy #~ msgid "User name:" #~ msgstr "ا_سم المستخدم:" #~ msgid "The following SSH connection will be created:" #~ msgstr "ستÙنشأ اتصالات SSH التالية:" #~ msgid "Name: %s" #~ msgstr "الإسم: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "نوع الإتصال: X.509 Certificates" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "شهادة: %s" #~ msgid "Key: %s" #~ msgstr "Ù…ÙØªØ§Ø­: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "نوع الإتصال: Ù…ÙØªØ§Ø­ مشترَك" #~ msgid "Shared Key: %s" #~ msgstr "Ù…ÙØªØ§Ø­ مشترَك: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP بعيد: %s" #~ msgid "Connection Type: Password" #~ msgstr "نوع الإتصال: كلمة سّر" #~ msgid "Username: %s" #~ msgstr "اسم المستخدم: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "نوع الإتصال: X.509 مع توثق عبر كلمة سر" #~ msgid "Remote: %s" #~ msgstr "عن بعد: %s" #~ msgid "Port: %s" #~ msgstr "ميناء: %s" #~ msgid "Device: %s" #~ msgstr "الجهاز: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "البروتوكول: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "المسارات: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "ا_ستعمل ضغط LZO: %s" #~ msgid "Yes" #~ msgstr "نعم" #~ msgid "TLS auth: %s %s" #~ msgstr "توثيق TLS: %s %s " #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "يمكن تغيير ØªÙØ§ØµÙŠÙ„ الإتصال باستخدام زر \"Ø­Ø±Ù‘ÙØ±\"." #~ msgid "Cannot import settings" #~ msgstr "تعذّر استيراد الإعدادات" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "لا يحتوي مل٠اعدادات VPN '%s' على بيانات صالحة." #~ msgid "Select file to import" #~ msgstr "انتق٠ملÙÙ‘ للإستيراد" #~ msgid "Select CA to use" #~ msgstr "انتق٠CA Ù„ÙŠÙØ³ØªØ®Ø¯Ù…" #~ msgid "Select certificate to use" #~ msgstr "انتق٠شهادة Ù„ØªÙØ³ØªØ®Ø¯Ù…" #~ msgid "Select key to use" #~ msgstr "Ø§Ù†ØªÙ‚Ù Ù…ÙØªØ§Ø­Ø§ Ù„ÙŠÙØ³ØªØ®Ø¯Ù…" #~ msgid "Select shared key to use" #~ msgstr "Ø§Ù†ØªÙ‚Ù Ù…ÙØªØ§Ø­Ø§ Ù…ÙØ´Ø§Ø±ÙŽÙƒØ§ Ù„ÙŠÙØ³ØªØ®Ø¯Ù…" #~ msgid "Select TA to use" #~ msgstr "انتق٠TA Ù„ÙŠÙØ³ØªØ®Ø¯Ù…" #~ msgid "Save as..." #~ msgstr "Ø§Ø­ÙØ¸ كـ..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "يوجد مل٠بالإسم \"%s\" مسبقاً." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "أتريد استبداله بالمل٠الذي تقوم Ø¨Ø­ÙØ¸Ù‡ØŸ" #~ msgid "Failed to export configuration" #~ msgstr "ÙØ´Ù„ تصدير الإعدادات" #~ msgid "Failed to save file %s" #~ msgstr "ÙØ´Ù„ Ø­ÙØ¸ المل٠%s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "مثال: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "_ملÙÙ‘ CA:" #~ msgid "Co_nnection type:" #~ msgstr "_نوع الإتصال:" #~ msgid "Connection na_me:" #~ msgstr "ا_سم الإتصال:" #~ msgid "Import _Saved Configuration..." #~ msgstr "ا_ستورد اعدادات محÙوظة..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "الإ_سم المستخدم لتعري٠الإتصال للشبكة الخاصة، مثلا: \"Campus VPN\" أو " #~ "\"Corporate Network\"" #~ msgid "Network" #~ msgstr "شبكة" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "استخدم _Ùقط اتصالات VPN لهذه العناوين:" #~ msgid "SSH Configuration" #~ msgstr "اعدادات SSH" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "من ÙØ¶Ù„Ùƒ أدخل المعلومات التي ÙˆÙØ±Ù‡Ø§ مدير نظامك بأسÙÙ„. لا تدخل كلمة السر هنا " #~ "حيث أنك ستسأل عنها عند الإتصال." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "من ÙØ¶Ù„Ùƒ لا حظ أن المل٠الذي استوردته ليس مل٠إعدادات SSH. اسأل مدير نظامك " #~ "عن الملÙ." #~ msgid "Shared _key:" #~ msgstr "Ù…Ù_تاح مشترَك:" #~ msgid "TLS-Auth" #~ msgstr "TLS-Auth" #~ msgid "Use _TLS auth:" #~ msgstr "اس_تخدم توثيق TLS:" #~ msgid "Use cip_her:" #~ msgstr "استخدم _Ø´ÙŠÙØ±Ø©:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "شهادات X.509\n" #~ "Ù…ÙØªØ§Ø­ قبل Ø§Ù„Ù…ÙØ´Ø§Ø±ÙƒØ©\n" #~ "توثيق بكلمة سر\n" #~ "X.509 مع توثيق بكلمة سر" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "عنوان ال_بوّابة:" #~ msgid "_Key:" #~ msgstr "Ù…_ÙØªØ§Ø­:" #~ msgid "_Local IP:" #~ msgstr "IP Ù…_حلًي:" #~ msgid "_none" #~ msgstr "لا _شيء" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "أضÙÙØŒ احذÙÙØŒ Ùˆ Ø­Ø±Ù‘ÙØ± اتصالات VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "مدير اتصالت VPN (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "ÙØ´Ù„ ولوج VPN لأن اسم المستخدم أو كلمة السر لم تÙقبل أو أن كلمة سر الشهادة " #~ "كانت خطأ." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "ÙØ´Ù„ ولوج VPN لأن برنامج VPN لا يمكن بدأه." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "ÙØ´Ù„ ولوج VPN لأن برنامج VPN لا يمكنه الإتصال بخادم VPN." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "ÙØ´Ù„ ولوج VPN لأن برنامج VPN لم يتلقى اعدادات صالحة من خادم VPN." #~ msgid "VPN connection failed" #~ msgstr "ÙØ´Ù„ اتصال VPN" #~ msgid "Connection Information" #~ msgstr "معلومات الإتصال" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "X.509/Pass" #~ msgstr "X.509/Pass" #~ msgid "CA file:" #~ msgstr "ملÙÙ‘ CA:" #~ msgid "Optional" #~ msgstr "خياري" danfruehauf-NetworkManager-ssh-f65d65d/po/as.po000066400000000000000000000301511507335542500215360ustar00rootroot00000000000000# translation of as.po to Assamese # Assamese translation of network-manager-ssh. # Copyright (C) 2009 network-manager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # # Amitakhya Phukan , 2009. msgid "" msgstr "" "Project-Id-Version: as\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-07-16 15:11+0530\n" "Last-Translator: Amitakhya Phukan \n" "Language-Team: Assamese \n" "Language: as\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Virtual Private Network '%s' অভিগম কৰিবলৈ আপà§à¦¨à¦¿ পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ কৰিব লাগিব ।" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ কৰক" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ (_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "দà§à¦¬à¦¿à¦¤à§€à§Ÿ গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ (_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ দেখà§à§±à¦¾à¦“ক" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH সেৱকৰ সৈতে সà§à¦¸à¦™à§à¦—ত ।" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH উনà§à¦¨à¦¤ বিকলà§à¦ª" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "নিজৰ পছনà§à¦¦à§° গেটৱে প'à§°à§à¦Ÿ বà§à¦¯à§±à¦¹à¦¾à§° কৰক (_o):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TAP যনà§à¦¤à§à§° বà§à¦¯à§±à¦¹à¦¾à§° কৰক (_P)" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾à§° নাম (_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "সাধাৰণ" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "সাধাৰণ" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "গেটৱে (_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "দূৰৰ IP ঠিকনা:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ IP ঠিকনা:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "দূৰৰ IP ঠিকনা:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ IP ঠিকনা:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "উনà§à¦¨à¦¤ (_v)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "ধৰণ:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ দেখà§à§±à¦¾à¦“ক" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "চাবিৰ নথিপতà§à§°:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ দেখà§à§±à¦¾à¦“ক" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "ডোমেইন (_D):" #~ msgid "Connect _anonymously" #~ msgstr "বেনামী হিচাপে সংযোগ কৰক (_a)" #~ msgid "Connect as _user:" #~ msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ হিচাপে সংযোগ কৰক (_u):" #~ msgid "_Remember password for this session" #~ msgstr "à¦à¦‡ অধিবেশনৰ কাৰণে গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ মনত ৰাখক (_R)" #~ msgid "_Save password in keyring" #~ msgstr "কিৰিঙত গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ ৰাখক (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°à§° গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ (_w):" #~ msgid "Certificate password:" #~ msgstr "পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°à§° গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "à¦à¦Ÿà¦¾ পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°à§° অধিকাৰীৰ পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§° বাচি লওক..." #~ msgid "Choose your personal certificate..." #~ msgstr "আপোনাৰ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§° বাচি লওক..." #~ msgid "Choose your private key..." #~ msgstr "আপোনাৰ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত চাবি বাচি লওক..." #~ msgid "Choose an SSH static key..." #~ msgstr "à¦à¦Ÿà¦¾ SSH সà§à¦Ÿà§‡à¦Ÿà¦¿à¦• চাবি বাচি লওক..." #~ msgid "None" #~ msgstr "à¦à¦•à§‹ নাই" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§° (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH সà§à¦Ÿà§‡à¦Ÿà¦¿à¦• চাবি সমূহ (*.key)" #~ msgid "Default" #~ msgstr "অবিকলà§à¦ªà¦¿à¦¤" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°à¦¸à¦®à§‚হ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°à¦¸à¦®à§‚হৰ সৈতে গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦ (TLS)" #~ msgid "Static Key" #~ msgstr "সà§à¦Ÿà§‡à¦Ÿà¦¿à¦• চাবি" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "চাবিৰ দিশ বà§à¦¯à§±à¦¹à¦¾à§° কৰিলে, সেইটো VPN পিয়েৰত থকাটোতকৈ বিপৰিত দিশৰ হ'ব " #~ "লাগিব । যেনে, যদি পিয়েৰে '1' বà§à¦¯à§±à¦¹à¦¾à§° কৰে, à¦à¦‡ সংযোগে '0' বà§à¦¯à§±à¦¹à¦¾à§° কৰিব লাগিব " #~ "। বà§à¦¯à§±à¦¹à¦¾à§° কৰিব লগা মানৰ বিষয়ে নিশà§à¦šà¦¿à¦¤ ন'হ'লে, আপোনাৰ বà§à¦¯à§±à¦¸à§à¦¥à¦¾à¦ªà§à§°à¦£à¦¾à¦²à§€à§° পà§à§°à¦¶à¦¾à¦¸à¦•ক " #~ "লগ ধৰক ।" #~ msgid "CA Certificate:" #~ msgstr "CA পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°:" #~ msgid "Cipher:" #~ msgstr "Cipher:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ:" #~ msgid "Key Direction:" #~ msgstr "চাবিৰ দিশ:" #~ msgid "Private Key Password:" #~ msgstr "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত চাবিৰ গà§à¦ªà§à¦¤à¦¶à¦¬à§à¦¦:" #~ msgid "Private Key:" #~ msgstr "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত চাবি:" #~ msgid "Security" #~ msgstr "সà§à§°à¦•à§à¦·à¦¾" #~ msgid "Static Key:" #~ msgstr "সà§à¦Ÿà§‡à¦Ÿà¦¿à¦• চাবি:" #~ msgid "Use L_ZO data compression" #~ msgstr "LZO তথà§à¦¯ সঙà§à¦•োচন বà§à¦¯à§±à¦¹à¦¾à§° কৰক (_Z)" #~ msgid "Use a _TCP connection" #~ msgstr "à¦à¦Ÿà¦¾ TCP সংযোগ বà§à¦¯à§±à¦¹à§° কৰক (_T)" #~ msgid "Use additional TLS authentication" #~ msgstr "অতিৰিকà§à¦¤ TLS পà§à§°à¦®à¦¾à¦£à§€à¦•ৰণ বà§à¦¯à§±à¦¹à¦¾à§° কৰক" #~ msgid "User Certificate:" #~ msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾à§° পà§à§°à¦®à¦¾à¦£à¦ªà¦¤à§à§°:" #~ msgid "User name:" #~ msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾à§° নাম:" danfruehauf-NetworkManager-ssh-f65d65d/po/bg.po000066400000000000000000000327671507335542500215420ustar00rootroot00000000000000# Bulgarian translation of network-manager-ssh po-file # Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the network-manager-ssh package. # Alexander Shopov , 2007, 2008, 2010. # Krasimir Chonov , 2009. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-10-02 10:52+0300\n" "Last-Translator: Krasimir Chonov \n" "Language-Team: Bulgarian \n" "Language: bg\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "ТрÑбва да Ñе идентифицирате, за да ползвате ВЧМ „%s“." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Идентифициране пред ВЧМ" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Парола:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Парола:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Втора парола:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Показване на паролите" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "СъвмеÑтим ÑÑŠÑ Ñървърите за SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Парола" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ TSL" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ðе е задължително" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Допълнителни наÑтройки на SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "_ПотребителÑки порт на шлюза:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Различен _макÑимален размер на пакета (MTU) за тунела:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Използване на _уÑтройÑтво TAP" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ПотребителÑко _име за поÑредника:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Общи" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Общи" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Шлюз:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Отдалечен адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Локален адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Отдалечен адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Локален адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Допълнителни…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "ИдентификациÑ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Вид:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ TSL" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Показване на паролите" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Файл-ключ:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Показване на паролите" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ПотребителÑко _име:" #~ msgid "_Domain:" #~ msgstr "_Домейн:" #~ msgid "Connect _anonymously" #~ msgstr "_Ðнонимно Ñвързване" #~ msgid "Connect as _user:" #~ msgstr "Свързване _като потребителÑ:" #~ msgid "_Remember password for this session" #~ msgstr "_ЗапомнÑне на паролата за тази ÑеÑиÑ" #~ msgid "_Save password in keyring" #~ msgstr "Запазване на паролата в клю_чодържателÑ" #~ msgid "Certificate pass_word:" #~ msgstr "Парола за _Ñертификата:" #~ msgid "Certificate password:" #~ msgstr "Парола за Ñертификата:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Изберете Ñертификата на Ñертифициращата организациÑ…" #~ msgid "Choose your personal certificate..." #~ msgstr "Изберете Ð»Ð¸Ñ‡Ð½Ð¸Ñ Ñи Ñертификат…" #~ msgid "Choose your private key..." #~ msgstr "Изберете Ð»Ð¸Ñ‡Ð½Ð¸Ñ Ñи ключ…" #~ msgid "Choose an SSH static key..." #~ msgstr "Изберете ÑÑ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡ на SSH…" #~ msgid "None" #~ msgstr "ÐÑма" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "" #~ "Сертификати във формат PEM или PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Сертификати във формат PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Статични ключове за SSH (*.key)" #~ msgid "Default" #~ msgstr "Стандартно" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Сертификати (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Парола ÑÑŠÑ Ñертификати (TLS)" #~ msgid "Static Key" #~ msgstr "Статичен ключ" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Свързване Ñамо към Ñървъри, чийто Ñертификат Ñъвпада Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð°Ñ‚Ð° " #~ "тема.\n" #~ "Пример: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Ðко Ñе използва поÑока на ключа, Ñ‚Ñ Ñ‚Ñ€Ñбва да е обратната на " #~ "използваната от отÑрещната Ñтрана по ВЧМ. Ðапример — ако Ñ‚Ñ Ð¿Ð¾Ð»Ð·Ð²Ð° „1“, " #~ "тази връзка трÑбва да ползва „0“. Ðко не Ñте Ñигурни, попитайте ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ " #~ "Ñи админиÑтратор." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Изберете тази наÑтройка, ако организациÑта, в коÑто Ñе намирате, ви " #~ "задължава да използвате Ñървър-поÑредник за връзката ви към Internet." #~ msgid "CA Certificate:" #~ msgstr "Сертификат на Ñертифициращата организациÑ:" #~ msgid "Cipher:" #~ msgstr "Шифър:" #~ msgid "HMAC Authentication:" #~ msgstr "Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ HMAC:" #~ msgid "Key Direction:" #~ msgstr "ПоÑока на ключа:" #~ msgid "Port:" #~ msgstr "Порт:" #~ msgid "Private Key Password:" #~ msgstr "ЧаÑтен ключ:" #~ msgid "Private Key:" #~ msgstr "ЧаÑтен ключ:" #~ msgid "Proxies" #~ msgstr "ПоÑредници" #~ msgid "Proxy Password:" #~ msgstr "Парола за поÑредника:" #~ msgid "Proxy Type:" #~ msgstr "Вид поÑредник:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Ограничаване на макÑÐ¸Ð¼Ð°Ð»Ð½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ на Ñегментите (MSS) по TCP" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "При поÑвата на грешка да Ñе Ð¿Ð¾Ð²Ñ‚Ð°Ñ€Ñ Ð´Ð¾ безкрай" #~ msgid "Security" #~ msgstr "СигурноÑÑ‚" #~ msgid "Server Address:" #~ msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Ñървъра:" #~ msgid "Static Key:" #~ msgstr "Статичен ключ:" #~ msgid "Subject Match:" #~ msgstr "Съвпадане на темата:" #~ msgid "Use L_ZO data compression" #~ msgstr "Използване на _компреÑÐ¸Ñ LZO" #~ msgid "Use a _TCP connection" #~ msgstr "Използване на _връзка по TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Използване на допълнителна Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Различен размер на _фрагментите на UDP:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "_Различен интервал на предоговарÑне:" #~ msgid "User Certificate:" #~ msgstr "ПотребителÑки Ñертификат:" #~ msgid "User name:" #~ msgstr "ПотребителÑко име:" danfruehauf-NetworkManager-ssh-f65d65d/po/ca.po000066400000000000000000000453611507335542500215270ustar00rootroot00000000000000# Catalan translations for NetworkManager package # Traduccions al català del paquet «NetworkManager». # Copyright © 2006 The Free Software Foundaton, Inc. # This file is distributed under the same license as the # NetworkManager package. # Josep Puigdemont Casamajó , 2006. # Gil Forcada , 2006, 2007, 2008. # David Planella , 2009. # Jordi Estrada , 2010. # msgid "" msgstr "" "Project-Id-Version: NetworkManager VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-12-04 23:37+0100\n" "Last-Translator: Jordi Estrada \n" "Language-Team: Catalan \n" "Language: ca\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Us heu d'autenticar per poder accedir a la xarxa privada virtual «%s»." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentica la VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Contrasenya:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Contrasenya:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Contrasenya _secundària:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Mostra les contrasenyes" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatible amb el servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Contrasenya" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticació TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "No necessari" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opcions avançades de l'SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Utilitza un _port de passarel·la personalitzat:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "Utilitza una unitat de transmissió màxima del túnel (MTU) personalitzada:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Utilitza un dispositiu TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nom d'usuari del servidor intermediari:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Pas_sarel·la:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Adreça IP remota:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Adreça IP local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Adreça IP remota:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Adreça IP local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vançat..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticació" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipus:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticació TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostra les contrasenyes" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Fitxer de clau:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostra les contrasenyes" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "No s'ha pogut connectar a la VPN perquè les opcions de configuració de la " "VPN eren erronis." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "Nom d'_usuari:" #~ msgid "_Domain:" #~ msgstr "_Domini:" #~ msgid "Connect _anonymously" #~ msgstr "Connecta _anònimament" #~ msgid "Connect as _user:" #~ msgstr "Connecta com a _usuari:" #~ msgid "_Remember password for this session" #~ msgstr "_Recorda la contrasenya per aquesta sessió" #~ msgid "_Save password in keyring" #~ msgstr "_Desa la contrasenya a l'anell de claus" #~ msgid "Certificate pass_word:" #~ msgstr "Contrasenya del _certificat:" #~ msgid "Certificate password:" #~ msgstr "Contrasenya del certificat:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Trieu un certificat d'autoritat de certificació..." #~ msgid "Choose your personal certificate..." #~ msgstr "Trieu el vostre certificat personal..." #~ msgid "Choose your private key..." #~ msgstr "Trieu la vostra clau privada..." #~ msgid "Choose an SSH static key..." #~ msgstr "Trieu una clau estàtica SSH..." #~ msgid "None" #~ msgstr "Cap" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificats PEM o PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificats PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Claus estàtiques SSH (*.key)" #~ msgid "Default" #~ msgstr "Predeterminat" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificats (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Contrasenya amb certificats (TLS)" #~ msgid "Static Key" #~ msgstr "Clau estàtica" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Connecta només als servidors on el certificat d'aquests coincideixi " #~ "amb l'assumpte proporcionat.\n" #~ "Per exemple: /CN=elmeuvpn.companyia.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Si s'utilitza una direcció de clau, ha de ser l'oposada que la de " #~ "l'homòleg de la VPN. Per exemple, si l'homòleg utilitza «1», aquesta " #~ "connexió ha d'utilitzar «0». Si no esteu segurs de quin valor heu " #~ "d'utilitzar, contacteu amb l'administrador del sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Seleccioneu aquesta opció si la vostra organització requereix l'ús " #~ "d'un servidor intermediari per accedir a Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificat de CA:" #~ msgid "Cipher:" #~ msgstr "Criptògraf:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticació HMAC:" #~ msgid "Key Direction:" #~ msgstr "Direcció de la clau:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Contrasenya de la clau privada:" #~ msgid "Private Key:" #~ msgstr "Clau privada:" #~ msgid "Proxies" #~ msgstr "Servidors intermediaris" #~ msgid "Proxy Password:" #~ msgstr "Contrasenya del servidor intermediari:" #~| msgid "Type:" #~ msgid "Proxy Type:" #~ msgstr "Tipus de servidor intermediari:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Restringeix la mida de segment màxima del túnel TCP (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Reintenta-ho indefinidament quan es produeixin errors" #~ msgid "Security" #~ msgstr "Seguretat" #~ msgid "Server Address:" #~ msgstr "Adreça del servidor:" #~ msgid "Static Key:" #~ msgstr "Clau estàtica:" #~ msgid "Subject Match:" #~ msgstr "Assumpte a coinxidir:" #~ msgid "Use L_ZO data compression" #~ msgstr "Utilitza la compressió de dades L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Utilitza una connexió _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Utilitza autenticació TLS addicional" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Utilitza una mida de _fragment UDP personalitzada:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Utilitza un interval de _renegociació personalitzat:" #~ msgid "User Certificate:" #~ msgstr "Certificat d'usuari:" #~ msgid "User name:" #~ msgstr "Nom d'usuari:" #~ msgid "The following SSH connection will be created:" #~ msgstr "Es crearà la següent connexió SSH:" #~ msgid "Name: %s" #~ msgstr "Nom: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Tipus de connexió: Certifcats X.509" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Certificat: %s" #~ msgid "Key: %s" #~ msgstr "Clau: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Tipus de connexió: Clau compartida" #~ msgid "Shared Key: %s" #~ msgstr "Clau compartida: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP remota: %s" #~ msgid "Connection Type: Password" #~ msgstr "Tipus de connexió: Contrasenya" #~ msgid "Username: %s" #~ msgstr "Nom d'usuari: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Tipus de connexió: X.509 amb autenticació de contrasenya" #~ msgid "Remote: %s" #~ msgstr "Remot: %s" #~ msgid "Device: %s" #~ msgstr "Dispositiu: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protocol: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Rutes: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Utilitza compressió LZO: %s" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "TLS auth: %s %s" #~ msgstr "Autenticació TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Els detalls de la connexió es poden canviar amb el botó «Edita»." #~ msgid "Cannot import settings" #~ msgstr "No s'han pogut importar els paràmetres" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "El fitxer de paràmetres VPN «%s», no conté dades vàlides." #~ msgid "Select file to import" #~ msgstr "Seleccioneu el fitxer a importar" #~ msgid "Select CA to use" #~ msgstr "Seleccioneu la CA a utilitzar" #~ msgid "Select certificate to use" #~ msgstr "Seleccioneu el certificat a utilitzar" #~ msgid "Select key to use" #~ msgstr "Seleccioneu la clau a utilitzar" #~ msgid "Select shared key to use" #~ msgstr "Seleccioneu la clau compartida a utilitzar" #~ msgid "Select TA to use" #~ msgstr "Seleccioneu la TA a utilitzar" #~ msgid "Save as..." #~ msgstr "Anomena i desa..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Ja existeix un fitxer anomenat «%s»." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Voleu reemplaçar-lo pel que voleu desar?" #~ msgid "Failed to export configuration" #~ msgstr "No s'ha pogut exportar la configuració" #~ msgid "Failed to save file %s" #~ msgstr "No s'ha pogut desar el fitxer %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "exemple: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "Fitxer C_A:" #~ msgid "Co_nnection type:" #~ msgstr "Tipus de co_nnexió:" #~ msgid "Connection na_me:" #~ msgstr "No_m de la connexió:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Importa una configuració de_sada..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "_Nom utilitzat per identificar la connexió a la xarxa privada, per " #~ "exemple «VPN del Campus» o «Xarxa Corporativa»" #~ msgid "Network" #~ msgstr "Xarxa" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "_Fes servir només la connexió VPN per a aquestes adreces:" #~ msgid "SSH Configuration" #~ msgstr "Configuració de l'SSH" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Entreu la informació proporcionada pel vostre administrador de sistema. " #~ "No hi entreu la vostra contrasenya, ja es demanarà en connectar." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "El fitxer que heu importat no és un fitxer de configuració SSH. Demaneu-" #~ "li el fitxer a l'administrador." #~ msgid "Shared _key:" #~ msgstr "_Clau compartida:" #~ msgid "TLS-Auth" #~ msgstr "Autenticació TLS" #~ msgid "Use _TLS auth:" #~ msgstr "Utilitza autenticació _TLS:" #~ msgid "Use cip_her:" #~ msgstr "Utilitza _xifratge:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "Certificats X.509\n" #~ "Clau pre-compartida\n" #~ "Autenticació de contrasenya\n" #~ "X.509 amb autenticació de contrasenya" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "A_dreça de la passarel·la:" #~ msgid "_Key:" #~ msgstr "_Clau:" #~ msgid "_Local IP:" #~ msgstr "IP _local:" #~ msgid "_Remote IP:" #~ msgstr "IP _remota:" #~ msgid "_none" #~ msgstr "_cap" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Afegiu, suprimiu, i editeu connexions VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Gestor de connexions VPN (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè no s'han acceptat el nom " #~ "d'usuari, o la contrasenya o la contrasenya certificada és errònia.\"" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè no s'ha pogut iniciar l'aplicació " #~ "VPN." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè l'aplicació VPN no s'ha pogut " #~ "connectar al servidor VPN." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè l'aplicació VPN ha rebut una " #~ "configuració errònia del servidor VPN." #~ msgid "VPN connection failed" #~ msgstr "Ha fallat la connexió VPN" #~ msgid "Connection Information" #~ msgstr "Informació de la connexió" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "X.509/Pass" #~ msgstr "X.509/Contrasenya" #~ msgid "CA file:" #~ msgstr "Fitxer CA:" #~ msgid "Optional" #~ msgstr "Opcional" danfruehauf-NetworkManager-ssh-f65d65d/po/ca@valencia.po000066400000000000000000000427671507335542500233410ustar00rootroot00000000000000# Catalan translations for NetworkManager package # Traduccions al català del paquet «NetworkManager». # Copyright © 2006 The Free Software Foundaton, Inc. # This file is distributed under the same license as the # NetworkManager package. # Josep Puigdemont Casamajó , 2006. # Gil Forcada , 2006, 2007, 2008. # David Planella , 2009. # msgid "" msgstr "" "Project-Id-Version: NetworkManager VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-05-10 12:43+0200\n" "Last-Translator: David Planella \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Vos heu d'autenticar per poder accedir a la xarxa privada virtual «%s»." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentica la VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Contrasenya:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Contrasenya:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Contrasenya _secundària:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Mostra les contrasenyes" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatible amb el servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Contrasenya" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticació TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opcions avançades de l'SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Utilitza un _port de passarel·la personalitzat:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Utilitza un dispositiu TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nom d'usuari:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Pas_sarel·la:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Adreça IP remota:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Adreça IP local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Adreça IP remota:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Adreça IP local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vançat..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticació" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipus:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticació TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostra les contrasenyes" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Fitxer de clau:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostra les contrasenyes" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "No s'ha pogut connectar a la VPN perquè les opcions de configuració de la " "VPN eren erronis." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "Nom d'_usuari:" #~ msgid "_Domain:" #~ msgstr "_Domini:" #~ msgid "Connect _anonymously" #~ msgstr "Connecta _anònimament" #~ msgid "Connect as _user:" #~ msgstr "Connecta com a _usuari:" #~ msgid "_Remember password for this session" #~ msgstr "_Recorda la contrasenya per esta sessió" #~ msgid "_Save password in keyring" #~ msgstr "Al_ça la contrasenya a l'anell de claus" #~ msgid "Certificate pass_word:" #~ msgstr "Contrasenya del _certificat:" #~ msgid "Certificate password:" #~ msgstr "Contrasenya del certificat:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Trieu un certificat d'autoritat de certificació..." #~ msgid "Choose your personal certificate..." #~ msgstr "Trieu el vostre certificat personal..." #~ msgid "Choose your private key..." #~ msgstr "Trieu la vostra clau privada..." #~ msgid "Choose an SSH static key..." #~ msgstr "Trieu una clau estàtica SSH..." #~ msgid "None" #~ msgstr "Cap" #, fuzzy #~| msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificats PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificats PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Claus estàtiques SSH (*.key)" #~ msgid "Default" #~ msgstr "Predeterminat" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #, fuzzy #~| msgid "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-1" #, fuzzy #~| msgid "SHA-1" #~ msgid "SHA-256" #~ msgstr "SHA-1" #, fuzzy #~| msgid "SHA-1" #~ msgid "SHA-384" #~ msgstr "SHA-1" #, fuzzy #~| msgid "SHA-1" #~ msgid "SHA-512" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "Certificats (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Contrasenya amb certificats (TLS)" #~ msgid "Static Key" #~ msgstr "Clau estàtica" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Si s'utilitza una direcció de clau, ha de ser l'oposada que la de " #~ "l'homòleg de la VPN. Per exemple, si l'homòleg utilitza «1», esta " #~ "connexió ha d'utilitzar «0». Si no esteu segurs de quin valor heu " #~ "d'utilitzar, contacteu amb l'administrador del sistema." #~ msgid "CA Certificate:" #~ msgstr "Certificat d'autoritat de certificació:" #~ msgid "Cipher:" #~ msgstr "Criptògraf:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticació HMAC:" #~ msgid "Key Direction:" #~ msgstr "Direcció de la clau:" #, fuzzy #~| msgid "Port: %s" #~ msgid "Port:" #~ msgstr "Port: %s" #~ msgid "Private Key Password:" #~ msgstr "Contrasenya de la clau privada:" #~ msgid "Private Key:" #~ msgstr "Clau privada:" #, fuzzy #~| msgid "Password:" #~ msgid "Proxy Password:" #~ msgstr "Contrasenya:" #, fuzzy #~| msgid "Type:" #~ msgid "Proxy Type:" #~ msgstr "Tipus:" #~ msgid "Security" #~ msgstr "Seguretat" #, fuzzy #~| msgid "Remote IP Address:" #~ msgid "Server Address:" #~ msgstr "Adreça IP remota:" #~ msgid "Static Key:" #~ msgstr "Clau estàtica:" #~ msgid "Use L_ZO data compression" #~ msgstr "Utilitza la compressió de dades L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Utilitza una connexió _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Utilitza autenticació TLS addicional" #~ msgid "User Certificate:" #~ msgstr "Certificat d'usuari:" #~ msgid "User name:" #~ msgstr "Nom d'usuari:" #~ msgid "The following SSH connection will be created:" #~ msgstr "Es crearà la següent connexió SSH:" #~ msgid "Name: %s" #~ msgstr "Nom: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Tipus de connexió: Certifcats X.509" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Certificat: %s" #~ msgid "Key: %s" #~ msgstr "Clau: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Tipus de connexió: Clau compartida" #~ msgid "Shared Key: %s" #~ msgstr "Clau compartida: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP remota: %s" #~ msgid "Connection Type: Password" #~ msgstr "Tipus de connexió: Contrasenya" #~ msgid "Username: %s" #~ msgstr "Nom d'usuari: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Tipus de connexió: X.509 amb autenticació de contrasenya" #~ msgid "Remote: %s" #~ msgstr "Remot: %s" #~ msgid "Device: %s" #~ msgstr "Dispositiu: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protocol: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Rutes: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Utilitza compressió LZO: %s" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "TLS auth: %s %s" #~ msgstr "Autenticació TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Els detalls de la connexió es poden canviar amb el botó «Edita»." #~ msgid "Cannot import settings" #~ msgstr "No s'han pogut importar els paràmetres" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "El fitxer de paràmetres VPN «%s», no conté dades vàlides." #~ msgid "Select file to import" #~ msgstr "Seleccioneu el fitxer a importar" #~ msgid "Select CA to use" #~ msgstr "Seleccioneu la CA a utilitzar" #~ msgid "Select certificate to use" #~ msgstr "Seleccioneu el certificat a utilitzar" #~ msgid "Select key to use" #~ msgstr "Seleccioneu la clau a utilitzar" #~ msgid "Select shared key to use" #~ msgstr "Seleccioneu la clau compartida a utilitzar" #~ msgid "Select TA to use" #~ msgstr "Seleccioneu la TA a utilitzar" #~ msgid "Save as..." #~ msgstr "Anomena i desa..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Ja existeix un fitxer anomenat «%s»." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Voleu reemplaçar-lo pel que voleu desar?" #~ msgid "Failed to export configuration" #~ msgstr "No s'ha pogut exportar la configuració" #~ msgid "Failed to save file %s" #~ msgstr "No s'ha pogut desar el fitxer %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "exemple: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "Fitxer C_A:" #~ msgid "Co_nnection type:" #~ msgstr "Tipus de co_nnexió:" #~ msgid "Connection na_me:" #~ msgstr "No_m de la connexió:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Importa una configuració de_sada..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "_Nom utilitzat per identificar la connexió a la xarxa privada, per " #~ "exemple «VPN del Campus» o «Xarxa Corporativa»" #~ msgid "Network" #~ msgstr "Xarxa" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "_Fes servir només la connexió VPN per a aquestes adreces:" #~ msgid "SSH Configuration" #~ msgstr "Configuració de l'SSH" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Entreu la informació proporcionada pel vostre administrador de sistema. " #~ "No hi entreu la vostra contrasenya, ja es demanarà en connectar." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "El fitxer que heu importat no és un fitxer de configuració SSH. Demaneu-" #~ "li el fitxer a l'administrador." #~ msgid "Shared _key:" #~ msgstr "_Clau compartida:" #~ msgid "TLS-Auth" #~ msgstr "Autenticació TLS" #~ msgid "Use _TLS auth:" #~ msgstr "Utilitza autenticació _TLS:" #~ msgid "Use cip_her:" #~ msgstr "Utilitza _xifratge:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "Certificats X.509\n" #~ "Clau pre-compartida\n" #~ "Autenticació de contrasenya\n" #~ "X.509 amb autenticació de contrasenya" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "A_dreça de la passarel·la:" #~ msgid "_Key:" #~ msgstr "_Clau:" #~ msgid "_Local IP:" #~ msgstr "IP _local:" #~ msgid "_Remote IP:" #~ msgstr "IP _remota:" #~ msgid "_none" #~ msgstr "_cap" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Afegiu, suprimiu, i editeu connexions VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Gestor de connexions VPN (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè no s'han acceptat el nom " #~ "d'usuari, o la contrasenya o la contrasenya certificada és errònia.\"" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè no s'ha pogut iniciar l'aplicació " #~ "VPN." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè l'aplicació VPN no s'ha pogut " #~ "connectar al servidor VPN." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "No s'ha pogut connectar a la VPN perquè l'aplicació VPN ha rebut una " #~ "configuració errònia del servidor VPN." #~ msgid "VPN connection failed" #~ msgstr "Ha fallat la connexió VPN" #~ msgid "Connection Information" #~ msgstr "Informació de la connexió" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "X.509/Pass" #~ msgstr "X.509/Contrasenya" #~ msgid "CA file:" #~ msgstr "Fitxer CA:" #~ msgid "Optional" #~ msgstr "Opcional" danfruehauf-NetworkManager-ssh-f65d65d/po/cs.po000066400000000000000000000227261507335542500215510ustar00rootroot00000000000000# Czech translation of network-manager-ssh. # Copyright (C) 2008, 2009, 2010 the author(s) of network-manager-ssh. # This file is distributed under the same license as the network-manager-ssh package. # # Jakub Friedl , 2006. # Jiří Eischmann , 2008. # ZdenÄ›k HataÅ¡ , 2009, 2010, 2011. # Jiří KlimeÅ¡ , 2014. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-05-27 12:28+0200\n" "PO-Revision-Date: 2014-05-27 12:41+0200\n" "Last-Translator: Jiří KlimeÅ¡ \n" "Language-Team: Czech \n" "Language: cs\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==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Poedit-Language: Czech\n" "X-Poedit-Country: CZECH REPUBLIC\n" "X-Poedit-SourceCharset: utf-8\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Pro přístup do VPN „%s“ se musíte autentizovat." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Ověření identity uživatele VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Heslo:" #: ../auth-dialog/main.c:298 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" "Nelze nalézt promÄ›nnou prostÅ™edí „%s“.\n" "\n" "Je ssh-agent spuÅ¡tÄ›n?" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Heslo:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundární heslo:" #: ../auth-dialog/vpn-password-dialog.c:199 msgid "_Cancel" msgstr "_ZruÅ¡it" #: ../auth-dialog/vpn-password-dialog.c:200 msgid "_OK" msgstr "_OK" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "Zo_brazit hesla" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" "Rozhodli jste se nepoužít uživatele 'root' pro vzdálený poÄítaÄ.\n" "\n" "UjistÄ›te se, že uživatel, kterého používáte má oprávnÄ›ní otevírat tun/tap zařízení na" "vzdáleném poÄítaÄi." #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibilní s SSH serverem." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Uložit" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Vždy se ptát" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "SSH Agent" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Heslo" #: ../properties/nm-ssh.c:646 msgid "Key Authentication" msgstr "KlíÄ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Není vyžadováno" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "PokroÄilé volby SSH" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "Použít vlastní port _brány:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Použít vlastní maximální velikost pÅ™enosové jednotky (_MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "_DodateÄné volby SSH:" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "Index vzdáleného _zařízení:" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "Použít _TAP zařízení" #: ../properties/nm-ssh-dialog.ui.h:9 msgid "Remote username:" msgstr "Vzdálené _uživatelské jméno:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "_Nenahrazovat implicitní cestu smÄ›rování" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Obecné" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Obecné" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "_Brána:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "Síťová nastavení" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Vzdálená adresa IP:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Místní adresa IP:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "Síťová maska:" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "Síťová nastavení pro IPv6" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "Použít IPv6" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "Vzdálená adresa IPv6:" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "Místní adresa IPv6:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "Prefix (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "P_okroÄilé…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentizace" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Typ:" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "Zvolte mód autentizace." #: ../properties/nm-ssh-dialog.ui.h:28 msgid "Show Passwords" msgstr "Zobrazit hesla" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "Soubor klíÄe:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "neplatná adresa „%s“" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "celoÄíselná volba „%s“ není platná nebo je mimo rozsah [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "pravdivostní volba „%s“ není platná (není ano Äi ne)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "neoÅ¡etÅ™ená volba „%s“ typu %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "volba „%s“ není platná nebo podporovaná" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Žádné volby nastavení VPN." #: ../src/nm-ssh-service.c:1012 msgid "Could not find the ssh binary." msgstr "Nelze nalézt program ssh." #: ../src/nm-ssh-service.c:1037 msgid "Could not find the sshpass binary." msgstr "Nelze nalézt program sshpass." #: ../src/nm-ssh-service.c:1054 msgid "Failed creating pipe." msgstr "Nelze vytvoÅ™it rouru." #: ../src/nm-ssh-service.c:1068 msgid "No password specified." msgstr "Heslo nebylo zadáno." #: ../src/nm-ssh-service.c:1102 msgid "Key authentication selected, but no key file specified." msgstr "Vybrána autentizace klíÄem, ale nebyl zadán žádný soubor klíÄe." #: ../src/nm-ssh-service.c:1122 msgid "Missing required SSH_AUTH_SOCK." msgstr "ChybÄ›jící SSH_AUTH_SOCK, který je vyžadován." #: ../src/nm-ssh-service.c:1136 ../src/nm-ssh-service.c:1615 #, c-format msgid "Unknown authentication type: %s." msgstr "Neznámý typ autentizace „%s“." #: ../src/nm-ssh-service.c:1206 #, c-format msgid "Please set remote address." msgstr "Zadejte prosím vzdálenou adresu." #: ../src/nm-ssh-service.c:1222 #, c-format msgid "Invalid port number '%s'." msgstr "Neplatné Äíslo portu „%s“." #: ../src/nm-ssh-service.c:1241 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Neplatná velikost TUN MTU „%s“." #: ../src/nm-ssh-service.c:1260 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Neplatný index zařízení TUN/TAP" #: ../src/nm-ssh-service.c:1279 msgid "Missing required remote IP address." msgstr "Chybí požadovaná vzdálená adresa IP." #: ../src/nm-ssh-service.c:1293 msgid "Missing required local IP address." msgstr "Chybí požadovaná místní adresa IP." #: ../src/nm-ssh-service.c:1309 msgid "Missing required netmask." msgstr "Chybí požadovaná maska sítÄ›." #: ../src/nm-ssh-service.c:1329 msgid "Missing required IPv6 remote IP address." msgstr "Chybí požadovaná vzdálená adresa IPv6." #: ../src/nm-ssh-service.c:1343 msgid "Missing required IPv6 local IP address." msgstr "Chybí požadovaná místní adresa IPv6." #: ../src/nm-ssh-service.c:1357 msgid "Missing required IPv6 netmask." msgstr "Chybí požadovaná maska sítÄ›." #: ../src/nm-ssh-service.c:1451 msgid "Could not pass password to sshpass." msgstr "Nelze pÅ™edat heslo do programu sshpass." #: ../src/nm-ssh-service.c:1535 ../src/nm-ssh-service.c:1577 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "Nelze zpracovat požadavek, protože nastavení VPN nejsou platná." #: ../src/nm-ssh-service.c:1739 msgid "Don't quit when VPN connection terminates" msgstr "NeukonÄovat pÅ™i uzavÅ™ení spojení VPN" #: ../src/nm-ssh-service.c:1740 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Povolit podrobný ladicí výpis (může prozradit hesla)" #: ../src/nm-ssh-service.c:1763 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-ssh-service umožňuje NetworkManageru poskytovat služby pro pÅ™ipojování k SSH." danfruehauf-NetworkManager-ssh-f65d65d/po/da.po000066400000000000000000000243361507335542500215270ustar00rootroot00000000000000# Danish translation of NetworkManager-ssh # Copyright (C) 2005-2009 # This file is distributed under the same license as the NetworkManager-ssh package. # David Zeuthen , 2005. # Lasse Bang Mikkelsen , 2006, 07. # Mads Bille Lundby , 2009. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-02-24 19:08+0100\n" "Last-Translator: Mads Lundby \n" "Language-Team: Danish \n" "Language: da\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-Poedit-Language: Danish\n" "X-Poedit-Country: DENMARK\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Du skal opnÃ¥ godkendelse for at tilgÃ¥ det virtuelle private netværk \"%s\"." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN-godkendelse" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Adgangskode:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Adgangskode:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundær adgangskode:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Vis adgangskoder" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibel med SSH-serveren." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Adgangskode" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS-godkendelse" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Avancerede indstillinger til SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Anvend tilpasset p_ort til adgangspunkt:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Anvend en TA_P-enhed" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "_Brugernavn:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Generelt" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Generelt" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Ad_gangspunkt:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vanceret..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Godkendelse" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Type:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS-godkendelse" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Vis adgangskoder" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Nøglefil:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Vis adgangskoder" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "_Domæne:" #~ msgid "Connect _anonymously" #~ msgstr "Forbind _anonymt" #~ msgid "Connect as _user:" #~ msgstr "Forbind som _bruger:" #~ msgid "_Remember password for this session" #~ msgstr "_Husk adgangskode for denne session" #~ msgid "_Save password in keyring" #~ msgstr "_Gem adgangskode i nøglering" #~ msgid "Certificate pass_word:" #~ msgstr "Ad_gangskode til certifikat:" #~ msgid "Certificate password:" #~ msgstr "Adgangskode til certifikat:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Vælg et certifikat fra certifikatautoritet..." #~ msgid "Choose your personal certificate..." #~ msgstr "Vælg dit personlige certifikat..." #~ msgid "Choose your private key..." #~ msgstr "Vælg din private nøgle..." #~ msgid "Choose an SSH static key..." #~ msgstr "Vælg en statisk SSH-nøgle..." #~ msgid "None" #~ msgstr "Ingen" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM-certifikater (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Statiske SSH-nøgler (*.key)" #~ msgid "Default" #~ msgstr "Standard" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "Certifikater (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Adgangskode med certifikater (TLS)" #~ msgid "Static Key" #~ msgstr "Statisk nøgle" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Hvis nøgleretning anvendes, skal den være den modsatte af den " #~ "nøgleretning, som VPN-ligemanden bruger. Hvis ligemanden f.eks. bruger " #~ "\"1\", skal denne forbindelse bruge \"0\". Hvis du ikke er sikker pÃ¥, " #~ "hvilken værdi du skal bruge, bør du kontakte din systemadministrator." #~ msgid "CA Certificate:" #~ msgstr "CA-certifikat:" #~ msgid "Cipher:" #~ msgstr "Chiffer:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC-godkendelse:" #~ msgid "Key Direction:" #~ msgstr "Nøgleretning:" #~ msgid "Private Key Password:" #~ msgstr "Adgangskode til privat nøgle:" #~ msgid "Private Key:" #~ msgstr "Privat nøgle:" #~ msgid "Security" #~ msgstr "Sikkerhed" #~ msgid "Static Key:" #~ msgstr "Statisk nøgle:" #~ msgid "Use L_ZO data compression" #~ msgstr "Anvend L_ZO-datakomprimering" #~ msgid "Use a _TCP connection" #~ msgstr "Anvend en _TCP-forbindelse" #~ msgid "Use additional TLS authentication" #~ msgstr "Anvend yderligere TLS-godkendelse" #~ msgid "User Certificate:" #~ msgstr "Brugercertifikat:" #~ msgid "User name:" #~ msgstr "Brugernavn:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Tilføj, fjern og redigér VPN-forbindelser" danfruehauf-NetworkManager-ssh-f65d65d/po/de.po000066400000000000000000000335641507335542500215360ustar00rootroot00000000000000# German translation of NetworkManager-SSH. # Copyright (C) 2005 Dan Williams # This file is distributed under the same license as the NetworkManager package. # Thomas Gier , 2007. # Hauke Mehrtens , 2008. # Mario Blättermann , 2009-2011. # Christoph Göhre , 2009. # Christian Kirbach , 2008, 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-15 20:40+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: Deutsch \n" "Language: \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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Sie müssen sich legitimieren, um auf das Virtuelle Private Netz »%s« " "zuzugreifen." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN legitimieren" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Passwort:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Passwort:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundäres Passwort:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "Passwörter an_zeigen" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibel zum SSH-Server" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Gespeichert" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Immer fragen" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Passwort" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS-Legitimierung" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Nicht notwendig" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Erweiterte SSH-Einstellungen" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "_Gateway-Port:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Angepasste größte Übertragungseinheit (MTU) für den _Tunnel verwenden:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TA_P-Gerät verwenden" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Proxy-Benutzername:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Allgemein" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Allgemein" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Entfernte IP-Adresse:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokale IP-Adresse:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Entfernte IP-Adresse:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokale IP-Adresse:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Er_weitert …" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Legitimierung" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Art:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS-Legitimierung" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Passwort anzeigen" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Schlüsseldatei:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "Ungültige Adresse »%s«" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" "Ungültige Ganzzahl-Eigenschaft »%s« oder außerhalb des Bereichs [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "Ungültige boolesche Eigenschaft »%s« (nicht »yes« oder »no«)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "Unbehandelte Eigenschaft »%s« des Typs %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "Eingenschaft »%s« ist ungültig oder wird nicht unterstützt" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Keine VPN-Konfigurationsoptionen." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "ssh-Binärdatei konnte nicht gefunden werden." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "ssh-Binärdatei konnte nicht gefunden werden." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Passwort anzeigen" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Unbekannter Verbindungstyp »%s«." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Ungültige Portnummer »%s«." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Ungültige TUN-MTU-Größe »%s«." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Ungültige Portnummer »%s«." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Benötigte entfernte IP-Adresse für statischen Schlüsselmodus fehlt." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Benötigte lokale IP-Adresse für statischen Schlüsselmodus fehlt." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Benötigte entfernte IP-Adresse für statischen Schlüsselmodus fehlt." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Benötigte lokale IP-Adresse für statischen Schlüsselmodus fehlt." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Aufgrund ungültiger VPN-Verbindungseinstellungen konnte die Anfrage nicht " "verarbeitet werden." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Nicht beenden, wenn die VPN-Verbindung beendet wird" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" "Ausführliche Protokollierung zur Fehlerdiagnose erlauben (könnte Passwörter " "sichtbar machen)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-vpnc-service integriert SSH-Funktionalität in NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "Zertifikatspass_wort:" #~ msgid "Certificate password:" #~ msgstr "Zertifikatspasswort:" #~ msgid "Choose your personal certificate..." #~ msgstr "Persönliches Zertifikat auswählen …" #~ msgid "Choose your private key..." #~ msgstr "Privaten Schlüssel auswählen …" #~ msgid "Not Required" #~ msgstr "Nicht notwendig" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Zertifikat einer Zertifizierungsstelle auswählen …" #~ msgid "Choose an SSH static key..." #~ msgstr "Statischen SSH-Schlüssel auswählen …" # CHECK keine/keiner #~ msgid "None" #~ msgstr "keine" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM- oder PKCS#12-Zertifikate (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM-Zertifikate (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Statische SSH-Schlüssel (*.key)" #~ msgid "Default" #~ msgstr "Vorgabe" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Zertifikate (TLS):" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Passwort und Zertifikate (TLS)" #~ msgid "Static Key" #~ msgstr "Statischer Schlüssel" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Nur mit Servern verbinden, deren Zertifikat den angegebenen Betreff " #~ "enthält.\n" #~ "Beispiel: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Falls eine Schlüsselrichtung verwendet wird, muss sie dem Gegenteil " #~ "der Gegenstelle entsprechen. Falls die Gegenstelle zum Beispiel »1« " #~ "benutzt, muss hier »0« gewählt werden. Sollten Sie sich nicht sicher " #~ "sein, setzen Sie sich mit Ihrem Systemadministrator in Verbindung." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Wählen Sie diese Option, falls in Ihrer Organisation ein Proxy-Server " #~ "zum Zugriff auf das Internet notwendig ist." #~ msgid "CA Certificate:" #~ msgstr "Zertifikat der Zertifizierungsstelle:" #~ msgid "Cipher:" #~ msgstr "Chiffre:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC-Legitimierung:" #~ msgid "Key Direction:" #~ msgstr "Schlüsselrichtung:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Passwort für privaten Schlüssel:" #~ msgid "Private Key:" #~ msgstr "Privater Schlüssel:" #~ msgid "Proxies" #~ msgstr "Proxies" #~ msgid "Proxy Password:" #~ msgstr "Proxy-Passwort:" #~ msgid "Proxy Type:" #~ msgstr "Proxy-Typ:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Maximale TCP-Segmentgröße (MSS) des Tunnels einschränken" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Auf unbestimmte Zeit wiederholen, wenn Fehler auftreten" #~ msgid "Security" #~ msgstr "Sicherheit" #~ msgid "Server Address:" #~ msgstr "Server-Adresse:" #~ msgid "Show password" #~ msgstr "Passwort anzeigen" #~ msgid "Static Key:" #~ msgstr "Statischer Schlüssel:" #~ msgid "Subject Match:" #~ msgstr "Betreff-Übereinstimmung:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO-Komprimierung verwenden" #~ msgid "Use a _TCP connection" #~ msgstr "_TCP-Verbindung verwenden" #~ msgid "Use additional TLS authentication" #~ msgstr "Zusätzliche TLS-Legitimierung verwenden" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Angepasste UDP-_Fragmentgröße verwenden:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Benutze_rdefinierten Intervall für erneute Verhandlung verwenden:" #~ msgid "User Certificate:" #~ msgstr "Zertifikat des Benutzers:" #~ msgid "User name:" #~ msgstr "Benutzername:" #~ msgid "No VPN secrets!" #~ msgstr "Keine VPN-Geheimnisse!" #~ msgid "Invalid HMAC auth." #~ msgstr "Ungültige HMAC-Legitimierung." #~ msgid "Invalid connection type." #~ msgstr "Ungültiger Verbindungstyp." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Ungültiger Proxy-Typ »%s«." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Ungültige reneg-Sekunden »%s«." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Ungültige Fragmentgröße »%s«." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Aufgrund des fehlenden Benutzernamens konnte die Anfrage nicht " #~ "verarbeitet werden." #~ msgid "_Username:" #~ msgstr "_Benutzername:" #~ msgid "_Domain:" #~ msgstr "_Domäne:" #~ msgid "Connect _anonymously" #~ msgstr "_Anonym verbinden" danfruehauf-NetworkManager-ssh-f65d65d/po/dz.po000066400000000000000000000516221507335542500215560ustar00rootroot00000000000000# 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 , YEAR. # msgid "" msgstr "" "Project-Id-Version: networkmanager-ssh.networkmamager-0-6-0=release.pot\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2007-03-19 15:41+0530\n" "Last-Translator: sonam pelden \n" "Language-Team: Dzongkha \n" "Language: dz\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-Poedit-Language: Dzongkha\n" "X-Poedit-Country: Bhutan\n" "X-Poedit-SourceCharset: utf-8\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "བར་ཅུ་ཡལ་སྒེར་སྡེ་ཡོངས་འབྲེལ་'%s'འཛུལ་སྤྱོད་འབད་ནི་ལུ་ à½à¾±à½¼à½‘་ཀྱིས་བདེན་བཤད་འབད་དགོà¼" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "à½à½²à¼‹à½”ི་ཨེན་བདེན་བཤད་འབད་" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "ཆོག་ཡིག: (_P)" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "ཆོག་ཡིག: (_P)" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "གལ་ནད་ཆུང་བའི་ཆོག་ཡིག: (_S)" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "ཆོག་ཡིག་" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "à½à½²à¼‹à½”ི་ཨེན་à½à¾±à½ºà¼‹à½–འི་ཞབས་à½à½¼à½‚་" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ཆོག་ཡིག་" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "à½à½²à¼‹à½”ི་ཨེན་བདེན་བཤད་འབད་" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "à½à½²à¼‹à½”ི་ཨེན་à½à¼‹à½•ྱེ་སྔ་གཡར་གདམ་à½à¼‹à½šà½´à¼‹" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ཊི་ཨེ་པི་à½à½–ས་འཕྲུལ་ལག་ལེན་འà½à½–་" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ལག་ལེན་པའི་མིང་:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "འཛུལ་སྒོའི་འདྲེན་ལམ: (_P)" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "à½à½‚་རིང་གི་ཨའི་པི:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "ཉེ་གནས་ཨའི་པི:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "སྔ་གཡར་" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "མà½à½´à½‘་ལམ་མིང་" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "ཆོག་ཡིག་" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "à½à½²à¼‹à½”ི་ཨེན་ནང་བསà¾à¾±à½¼à½‘་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ ག་ཅི་སྦེ་ཟེར་བ་ཅིན་ à½à½²à¼‹à½”ི་ཨེན་རིམ་སྒྲིག་གདམ་à½à¼‹à½šà½´à¼‹à½“ུས་ཅན་མེདà¼" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ལག་ལེན་པའི་མིང་: (_U)" #~ msgid "_Domain:" #~ msgstr "ཌོ་མེན་: (_D)" #~ msgid "Connect _anonymously" #~ msgstr "མིང་མེད་à½à½¼à½‚་ལས་མà½à½´à½‘à¼(_a)" #~ msgid "Connect as _user:" #~ msgstr "ལག་ལེན་པ་བཟུམ་སྦེ་མà½à½´à½‘:(_u)" #~ msgid "_Remember password for this session" #~ msgstr "ལཱ་ཡུན་འདི་གི་དོན་ལུ་ ཆོག་ཡིག་སེམས་à½à½¢à¼‹à½–ཞག(_R)" #~ msgid "_Save password in keyring" #~ msgstr "ལྡེ་འà½à½¼à½¢à¼‹à½“ང་ ཆོག་ཡིག་སྲུངས་(_S)" #~ msgid "Certificate password:" #~ msgstr "ལག་à½à¾±à½ºà½£à¼‹à½†à½¼à½‚་ཡིག:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་ཚུ་à½à¼‹à½¦à¾à½¼à½„་བརà¾à¾±à½–་ནི་རྩ་བསà¾à¾²à½‘་གà½à½„་ནི་དང་ཞུན་དག་འབད" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་འཛིན་སà¾à¾±à½¼à½„་པ(à½à½²à¼‹à½”ི་ཨེན་à½à¼‹à½•ྱེ)" #~ msgid "The following SSH connection will be created:" #~ msgstr "འོག་གི་à½à½²à¼‹à½”ི་ཨེན་à½à¼‹à½•ྱེ་བའི་མà½à½´à½‘་ལམ་འདི་གསར་བསà¾à¾²à½´à½“་འབད་ནི་ཨིན:" #~ msgid "Name: %s" #~ msgstr "མིང་:%s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "མà½à½´à½‘་ལམ་དབྱེ་བ: X.509 ལག་à½à¾±à½ºà½¢à¼‹" #~ msgid "CA: %s" #~ msgstr "སི་ཨེ: %s" #~ msgid "Cert: %s" #~ msgstr "ངེས་ཅན: %s" #~ msgid "Key: %s" #~ msgstr "ལྡེ་མིག: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "མà½à½´à½‘་ལམ་དབྱེ་བ: རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག་" #~ msgid "Shared Key: %s" #~ msgstr "རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག་: %s" #~ msgid "Local IP: %s" #~ msgstr "ཉེ་གནས་ཨའི་པི: %s" #~ msgid "Remote IP: %s" #~ msgstr "à½à½‚་རིང་གི་ཨའི་པི: %s" #~ msgid "Connection Type: Password" #~ msgstr "མà½à½´à½‘་ལམ་དབྱེ་བ: ཆོག་ཡིག་" #~ msgid "Username: %s" #~ msgstr "ལག་ལེན་པའི་མིང་: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "མà½à½´à½‘་ལམ་དབྱེ་བ: X.509འདི་ཆོག་ཡིག་བདེན་བཤད་དང་ཅིག་à½à½¢à¼‹" #~ msgid "Remote: %s" #~ msgstr "à½à½‚་རིང་གི: %s" #~ msgid "Port: %s" #~ msgstr "འདྲེན་ལམ: %s" #~ msgid "Device: %s" #~ msgstr "à½à½–ས་འཕྲུལ: %s" #~ msgid "TAP" #~ msgstr "ཊི་ཨེ་པི་" #~ msgid "TUN" #~ msgstr "ཊི་ཡུ་ཨེན་" #~ msgid "Protocol: %s" #~ msgstr "གནད་སྤེལ་ལམ་ལུགས: %s" #~ msgid "TCP" #~ msgstr "ཊི་སི་པི་" #~ msgid "UDP" #~ msgstr "ཡུ་ཌི་པི་" #~ msgid "Routes: %s" #~ msgstr "འགྲུལ་ལམ: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "ཨེལ་ཛེརཌི་ཨོ་ཨེབ་བཙུགས་ལག་ལེན་འà½à½–: %s" #~ msgid "Yes" #~ msgstr "ཨིན་" #~ msgid "No" #~ msgstr "མེན་" #~ msgid "Cipher: %s" #~ msgstr "གསང་ཡིག: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "ཊི་ཨེལ་ཨེསི་བདེན་བཤད: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "མà½à½´à½‘་ལམ་རྒྱས་བཤད་ཚུ་ \"Edit\" ཨེབ་རྟ་ལག་ལེན་འà½à½–་སྟེ་བསྒྱུར་བཅོས་འབད་ཚུགསà¼" #~ msgid "Cannot import settings" #~ msgstr "སྒྲིག་སྟངས་ཚུ་ནང་འདྲེན་འབད་མི་ཚུགས་" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་སྒྲིག་སྟངས་ཚུའི་ཡིག་སྣོད་'%s' དེ་གིས་ནུས་ཅན་གནས་སྡུད་གནས་à½à½ºà¼‹à½˜à½ºà½‘པ་ཨིནà¼" #~ msgid "Select file to import" #~ msgstr "ནང་འདྲེན་འབད་ནི་ལུ་ཡིག་སྣོད་སེལ་འà½à½´à¼‹à½ à½–ད་" #~ msgid "Select CA to use" #~ msgstr "ལག་ལེན་འà½à½–་ནི་ལུ་སི་ཨེ་སེལ་འà½à½´à¼‹à½ à½–ད་" #~ msgid "Select certificate to use" #~ msgstr "ལག་ལེན་འà½à½–་ནི་ལུ་ལག་à½à¾±à½ºà½¢à¼‹à½¦à½ºà½£à¼‹à½ à½à½´à¼‹à½ à½–ད་" #~ msgid "Select key to use" #~ msgstr "ལག་ལེན་འà½à½–་ནི་ལུ་ལྡེ་མིག་སེལ་འà½à½´à¼‹à½ à½–ད་" #~ msgid "Select shared key to use" #~ msgstr "ལག་ལེན་འà½à½–་ནི་ལུ་རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག་སེལ་འà½à½´à¼‹à½ à½–ད་" #~ msgid "Select TA to use" #~ msgstr "ལག་ལེན་འà½à½–་ནི་ལུ་ཊི་ཨེ་སེལ་འà½à½´à¼‹à½ à½–ད་" #~ msgid "Save as..." #~ msgstr "དེ་སྦེ་སྲུང་..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "ཡིག་སྣོད་མིང་ \"%s\" ཧེ་མ་ལས་རང་འདུགà¼" #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "à½à¾±à½¼à½‘་ཀྱིས་སྲུང་མི་དང་ཅིག་à½à½¢à¼‹à½à¾±à½¼à½‘་ཀྱིས་ཚབ་བཙུགས་ནི་ཨིན་ན?" #~ msgid "Failed to export configuration" #~ msgstr "རིམ་སྒྲིག་ཕྱིར་འདྲེན་འབད་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་" #~ msgid "Failed to save file %s" #~ msgstr "ཡིག་སྣོད་%sསྲུང་མ་ཚུགས་" #~ msgid "(Default: 1194)" #~ msgstr "(སྔོན་སྒྲིག: 1194)" #~ msgid "0" #~ msgstr "༠" #~ msgid "1" #~ msgstr "༡" #~ msgid "65536" #~ msgstr "65536" #~ msgid "Connection Information" #~ msgstr "མà½à½´à½‘་ལམ་བརྡ་དོན" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "དཔེར་ན: 172.16.0.0/16 10.11.12.0/24" #~ msgid "CA file:" #~ msgstr "སི་ཨེ་ཡིག་སྣོད:" #~ msgid "Certificate:" #~ msgstr "ལག་à½à¾±à½ºà½¢:" #~ msgid "Connection Name" #~ msgstr "མà½à½´à½‘་ལམ་མིང་" #~ msgid "Connection Type:" #~ msgstr "མà½à½´à½‘་ལམ་དབྱེ་བ་" #~ msgid "Direction:" #~ msgstr "ཕྱོགས:" #~ msgid "Key:" #~ msgstr "ལྡེ་མིག:" #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "སྒེར་སྡེ་ཡོངས་འབྲེལ་ལུ་མà½à½´à½‘་ལམ་ངོས་འཛིན་འབད་ནི་ལུ་ལག་ལེན་འà½à½–་ཡོད་པའི་མིང་ e.g. \"Campus VPN" #~ "\" or \"Corporate Network\"" #~ msgid "Network" #~ msgstr "ཡོངས་འབྲེལ་" #~ msgid "SSH Configuration" #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་à½à¼‹à½•ྱེ་བའི་རིམ་སྒྲིག་" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "འོག་ལུ་à½à¾±à½¼à½‘་རའི་རིམ་ལུགས་བདག་སà¾à¾±à½¼à½„་པ་གིས་བྱིན་ཡོད་པའི་བརྡ་དོན་à½à½¼à¼‹à½–ཀོད་འབད་གནང་༠མà½à½´à½‘་པའི་བསྒང་" #~ "à½à¾±à½¼à½‘་ཡར་བསà¾à¾±à½ºà½‘་འབདà½à¼‹à½£à½¦à¼‹ ནཱ་ལུ་à½à¾±à½¼à½‘་རའི་ཆོག་ཡིག་མ་བཙུགས༠" #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "à½à¾±à½¼à½‘་ཀྱིས་ནང་འདྲེན་འབད་མི་ཡིག་སྣོད་འདི་ à½à½²à¼‹à½”ི་ཨེན་à½à¼‹à½•ྱེ་རིམ་སྒྲིག་ཡིག་སྣོད་མེན་ཟེར་དྲན་འཛིན་འབད༠" #~ "à½à¾±à½¼à½‘་རའི་བདག་སà¾à¾±à½¼à½„་པ་ལུ་ཡིག་སྣོད་དོན་ལུ་དྲིà¼" #~ msgid "Shared Key:" #~ msgstr "རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག:" #~ msgid "Shared key" #~ msgstr "རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག་" #~ msgid "TLS-Auth" #~ msgstr "ཊི་ཨེལ་ཨེསི་-བདེན་བཤད་" #~ msgid "Use LZO compression" #~ msgstr "ཨེལ་ཛེརཌི་ཨེབ་བཙུགས་ལག་ལེན་འà½à½–་" #~ msgid "Use TCP connection" #~ msgstr "ཊི་སི་པི་མà½à½´à½‘་ལམ་ལག་ལེན་འà½à½–་" #~ msgid "Use TLS auth:" #~ msgstr "ཊི་ཨེལ་ཨེསི་བདེན་བཤད་ལག་ལེན་འà½à½–:" #~ msgid "Use cipher:" #~ msgstr "གསང་ཡིག་ལག་ལེན་འà½à½–:" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 ལག་à½à¾±à½ºà½¢à¼‹à½šà½´à¼‹\n" #~ "སྔོན་-རུབ་སྤྱོད་འབད་ཡོད་པའི་ལྡེ་མིག\n" #~ "ཆོག་ཡིག་བདེན་བཤད\n" #~ "X.509 ཆོག་ཡིག་བདེན་བཤད་དང་ཅིག་à½à½¢à¼‹" #~ msgid "X.509/Pass" #~ msgstr "X.509/རྩིས་སྤྲོད་" #~ msgid "_Gateway Address:" #~ msgstr "འཛུལ་སྒོའི་à½à¼‹à½–ྱང་: (_G)" #~ msgid "_Import Saved Configuration..." #~ msgstr "སྲུང་བཞག་པའི་རིམ་སྒྲིག་ནང་འདྲེན་འབད... (_I)" #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "à½à¼‹à½–ྱང་འདི་གི་དོན་ལུ་ à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་རà¾à¾±à½„མ་ཅིག་ལག་ལེན་འà½à½–༠(_O)" #~ msgid "none" #~ msgstr "ཅི་མེད་" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "à½à½²à¼‹à½”ི་ཨེན་ནང་བསà¾à¾±à½¼à½‘་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ ག་ཅི་སྦེ་ཟེར་བ་ཅིན་ ལག་ལེན་པ་དང་ཆོག་ཡིག་དང་ལེན་མ་འབད་" #~ "བས་ ཡང་ན་ ལག་à½à¾±à½ºà½¢à¼‹à½†à½¼à½‚་ཡིག་འདི་འཛོལ་བ་འདུགà¼" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་ནང་བསà¾à¾±à½¼à½‘་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ ག་ཅི་སྦེ་ཟེར་བ་ཅིན་ à½à½²à¼‹à½”ི་ཨེན་འགོ་བཙུགས་མ་ཚུགསà¼" #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "à½à½²à¼‹à½”ི་ཨེན་ནང་བསà¾à¾±à½¼à½‘་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ ག་ཅི་སྦེ་ཟེར་བ་ཅིན་ à½à½²à¼‹à½”ི་ཨེན་ལས་རིམ་à½à½²à¼‹à½”ི་ཨེན་སར་བར་ལུ་" #~ "མà½à½´à½‘་མ་ཚུགསà¼" #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "à½à½²à¼‹à½”ི་ཨེན་ནང་བསà¾à¾±à½¼à½‘་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ག་ཅི་སྦེ་ཟེར་བ་ཅིན་ à½à½²à¼‹à½”ི་ཨེན་ལས་རིམ་གྱིས་ à½à½²à¼‹à½”ི་ཨེན་སར་" #~ "བར་ལས་ནུས་ཅན་མེད་པའི་རིམ་སྒྲིག་à½à½¼à½–་ཡོདà¼" #~ msgid "VPN connection failed" #~ msgstr "à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼" danfruehauf-NetworkManager-ssh-f65d65d/po/el.po000066400000000000000000000336331507335542500215430ustar00rootroot00000000000000# translation of NetworkManager-ssh.HEAD.po to # Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Kostas Papadimas , 2007. # Jennie Petoumenou , 2008, 2009. # Michael Kotsarinis , 2011. msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-16 11:59+0300\n" "Last-Translator: Michael Kotsarinis \n" "Language-Team: team@gnome.gr\n" "Language: el\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-Generator: Virtaal 0.6.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "ΧÏειάζεστε πιστοποίηση για να αποκτήσετε Ï€Ïόσβαση στο Ιδιωτικό Εικονικό " "Δίκτυο (VPN) '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Πιστοποίηση VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Συνθηματικό:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Συνθηματικό:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_ΔευτεÏεÏον συνθηματικό:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Εμφάνιση συνθηματικοÏ" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Συμβατό με τον εξυπηÏετητή SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Συνθηματικό" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Πιστοποίηση TLS:" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Δεν απαιτείται" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "ΠÏοχωÏημένες επιλογές SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "ΧÏήση Ï€ÏοσαÏμοσμένης _θÏÏας gateway :" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "ΧÏήση Ï€ÏοσαÏμοσμένου _tunnel Maximum Transmission Unit (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ΧÏήση συσκευής TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Όνομα χÏήστη διαμεσολαβητή:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Γενικά" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Γενικά" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "ΑπομακÏυσμένη διεÏθυνση IP:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Τοπική διεÏθυνση IP:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "ΑπομακÏυσμένη διεÏθυνση IP:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Τοπική διεÏθυνση IP:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Για Ï€Ïο_χωÏημένους..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Πιστοποίηση" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "ΤÏπος:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Πιστοποίηση TLS:" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Εμφάνιση συνθηματικών" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "ΑÏχείο κλειδιοÏ:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Εμφάνιση συνθηματικών" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ÎŒ_νομα χÏήστη:" #~ msgid "_Domain:" #~ msgstr "_Τομέας:" #~ msgid "Connect _anonymously" #~ msgstr "_Ανώνυμη σÏνδεση" #~ msgid "Connect as _user:" #~ msgstr "ΣÏνδεση ως _χÏήστης:" #~ msgid "_Remember password for this session" #~ msgstr "Απομνη_μόνευση ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï Î³Î¹Î± αυτή τη συνεδÏία" #~ msgid "_Save password in keyring" #~ msgstr "Απο_θήκευση ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÏƒÏ„Î·Î½ κλειδοθήκη" #~ msgid "Certificate pass_word:" #~ msgstr "Σ_υνθηματικό πιστοποιητικοÏ:" #~ msgid "Certificate password:" #~ msgstr "Συνθηματικό πιστοποιητικοÏ:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Επιλέξτε πιστοποιητικό ΑÏχής Πιστοποίησης..." #~ msgid "Choose your personal certificate..." #~ msgstr "Επιλέξτε το Ï€Ïοσωπικό σας πιστοποιητικό..." #~ msgid "Choose your private key..." #~ msgstr "Επιλέξτε το ιδιωτικό σας κλειδί..." #~ msgid "Choose an SSH static key..." #~ msgstr "Επιλέξτε στατικό κλειδί SSH..." #~ msgid "None" #~ msgstr "ΧωÏίς" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Πιστοποιητικά PEM ή PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Πιστοποιητικά PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Στατικά κλειδιά SSH (*.key)" #~ msgid "Default" #~ msgstr "ΠÏοεπιλεγμένο" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Πιστοποιητικά (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Συνθηματικό με πιστοποιητικά (TLS)" #~ msgid "Static Key" #~ msgstr "Στατικό Κλειδί" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "ΣÏνδεση μόνοι σε εξυπηÏετητές με τους που το πιστοποιητικό τους " #~ "ταιÏιάζει με το δοθέν θέμα.\n" #~ "ΠαÏάδειγμα: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Αν χÏησιμοποιηθεί η κατεÏθυνση του κλειδιοÏ, θα Ï€Ïέπει να είναι " #~ "αντίθετη από την κατεÏθυνση του άλλου υπολογιστή. Για παÏάδειγμα, αν ο " #~ "άλλος υπολογιστής χÏησιμοποιεί '1', αυτή η σÏνδεση θα Ï€Ïέπει να " #~ "χÏησιμοποιεί '0'. Αν δεν είστε βέβαιοι για το ποια τιμή Ï€Ïέπει να " #~ "χÏησιμοποιήσετε, επικοινωνήστε με το διαχειÏιστή του συστήματος." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Επιλέξτε αν ο οÏγανισμός σας απαιτεί τη χÏήση διαμεσολαβητή για " #~ "Ï€Ïόσβαση στο διαδίκτυο." #~ msgid "CA Certificate:" #~ msgstr "Πι_στοποιητικό CA:" #~ msgid "Cipher:" #~ msgstr "ΑλγόÏιθμος κÏυπτογÏάφησης:" #~ msgid "HMAC Authentication:" #~ msgstr "Πιστοποίηση HMAC:" #~ msgid "Key Direction:" #~ msgstr "ΚατεÏθυνση κλειδιοÏ:" #~ msgid "Port:" #~ msgstr "ΘÏÏα:" #~ msgid "Private Key Password:" #~ msgstr "Συνθηματικό Î¹Î´Î¹Ï‰Ï„Î¹ÎºÎ¿Ï ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï:" #~ msgid "Private Key:" #~ msgstr "Ιδιωτικό κλειδί:" #~ msgid "Proxies" #~ msgstr "Διαμεσολαβητές" #~| msgid "Password:" #~ msgid "Proxy Password:" #~ msgstr "Συνθηματικό διαμεσολαβητή:" #~| msgid "Type:" #~ msgid "Proxy Type:" #~ msgstr "ΤÏπος διαμεσολαβητή:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "ΠεÏιοÏισμός tunnel TCP Maximum Segment Size (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Επανάληψη επ' άπειÏον όταν Ï€ÏοκÏπτουν σφάλματα" #~ msgid "Security" #~ msgstr "Ασφάλεια" #~| msgid "Remote IP Address:" #~ msgid "Server Address:" #~ msgstr "ΔιεÏθυνση διακομιστή:" #~ msgid "Static Key:" #~ msgstr "Στατικό Κλειδί:" #~ msgid "Subject Match:" #~ msgstr "ΤαίÏιασμα θέματος:" #~ msgid "Use L_ZO data compression" #~ msgstr "ΧÏήση συμπίεσης L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "ΧÏήση σÏνδεσης _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "ΧÏήση επιπλέον πιστοποίησης TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "ΧÏήση Ï€ÏοσαÏμοσμένου μεγέθους UDP _fragment:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ΧÏήση Ï€ÏοσαÏμοσμένου χÏÎ¿Î½Î¹ÎºÎ¿Ï Î´Î¹Î±ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚ επανα_διαπÏαγμάτευσης:" #~ msgid "User Certificate:" #~ msgstr "Πιστοποιητικό χÏήστη:" #~ msgid "User name:" #~ msgstr "Όνομα χÏήστη:" danfruehauf-NetworkManager-ssh-f65d65d/po/en_GB.po000066400000000000000000000365051507335542500221160ustar00rootroot00000000000000# English (British) translation for NetworkManager-ssh # Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-ssh package. # David Lodge , 2006 # Bruce Cowan , 2011. msgid "" msgstr "" "Project-Id-Version: gnome-torrent\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-09 17:11+0100\n" "Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\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-Generator: Virtaal 0.6.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "You need to authenticate to access the Virtual Private Network '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Authenticate VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_Password:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_Password:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Secondary Password:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Password" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatible with the SSH server." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Password" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Authenticate VPN" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Not required" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH Advanced Options" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "_Gateway port:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Use TA_P device" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Username:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway port:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "_Remote IP:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "Local IP: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Ad_vanced" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "Required Information" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Password" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "The VPN login failed because the VPN configuration options were invalid." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_Username:" #~ msgid "_Domain:" #~ msgstr "_Domain:" #~ msgid "Connect _anonymously" #~ msgstr "Connect _anonymously" #~ msgid "Connect as _user:" #~ msgstr "Connect as _user:" #~ msgid "_Remember password for this session" #~ msgstr "_Remember password for this session" #~ msgid "_Save password in keyring" #~ msgstr "_Save password in keyring" #~ msgid "Certificate pass_word:" #~ msgstr "Certificate pass_word:" #~ msgid "Certificate password:" #~ msgstr "Certificate password:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Choose a Certificate Authority certificate…" #~ msgid "Choose your personal certificate..." #~ msgstr "Choose your personal certificate…" #~ msgid "Choose your private key..." #~ msgstr "Choose your private key…" #~ msgid "Choose an SSH static key..." #~ msgstr "Choose an SSH static key…" #~ msgid "None" #~ msgstr "None" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH Static Keys (*.key)" #~ msgid "Default" #~ msgstr "Default" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificates (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Password with Certificates (TLS)" #~ msgid "Static Key" #~ msgstr "Static Key" #~ msgid "The following SSH connection will be created:" #~ msgstr "The following SSH connection will be created:" #~ msgid "Name: %s" #~ msgstr "Name: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Connection Type: X.509 Certificates" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Cert: %s" #~ msgid "Key: %s" #~ msgstr "Key: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Connection Type: Shared Key" #~ msgid "Shared Key: %s" #~ msgstr "Shared Key: %s" #~ msgid "Remote IP: %s" #~ msgstr "Remote IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "Connection Type: Password" #~ msgid "Username: %s" #~ msgstr "Username: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Connection Type: X.509 with Password Authentication" #~ msgid "Remote: %s" #~ msgstr "Remote: %s" #~ msgid "Port: %s" #~ msgstr "Port: %s" #~ msgid "Device: %s" #~ msgstr "Device: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protocol: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Routes: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Use LZO Compression: %s" #~ msgid "Yes" #~ msgstr "Yes" #~ msgid "No" #~ msgstr "No" #~ msgid "Cipher: %s" #~ msgstr "Cipher: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS auth: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "The connection details can be changed using the \"Edit\" button." #~ msgid "Cannot import settings" #~ msgstr "Cannot import settings" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "The VPN settings file '%s' does not contain valid data." #~ msgid "Select file to import" #~ msgstr "Select file to import" #~ msgid "Select CA to use" #~ msgstr "Select CA to use" #~ msgid "Select certificate to use" #~ msgstr "Select certificate to use" #~ msgid "Select key to use" #~ msgstr "Select key to use" #~ msgid "Select shared key to use" #~ msgstr "Select shared key to use" #~ msgid "Select TA to use" #~ msgstr "Select TA to use" #~ msgid "Save as..." #~ msgstr "Save as..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "A file named \"%s\" already exists." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Do you want to replace it with the one you are saving?" #~ msgid "Failed to export configuration" #~ msgstr "Failed to export configuration" #~ msgid "Failed to save file %s" #~ msgstr "Failed to save file %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "example: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "C_A file:" #~ msgid "Co_nnection type:" #~ msgstr "Co_nnection type:" #~ msgid "Connection na_me:" #~ msgstr "Connection na_me:" #~ msgid "Direction:" #~ msgstr "Direction:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Import _Saved Configuration..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgid "Network" #~ msgstr "Network" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "Only use _VPN connection for these addresses:" #~ msgid "SSH Configuration" #~ msgstr "SSH Configuration" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgid "Shared _key:" #~ msgstr "Shared _key:" #~ msgid "TLS-Auth" #~ msgstr "TLS-Auth" #~ msgid "Use L_ZO compression" #~ msgstr "Use L_ZO compression" #~ msgid "Use _TCP connection" #~ msgstr "Use _TCP connection" #~ msgid "Use _TLS auth:" #~ msgstr "Use _TLS auth:" #~ msgid "Use cip_her:" #~ msgstr "Use cip_her:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "_Gateway address:" #~ msgid "_Key:" #~ msgstr "_Key:" #~ msgid "_Local IP:" #~ msgstr "_Local IP:" #~ msgid "_User name:" #~ msgstr "_User name:" #~ msgid "_none" #~ msgstr "_none" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Add, Remove, and Edit VPN Connections" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN Connection Manager (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "The VPN login failed because the VPN program could not be started." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgid "VPN connection failed" #~ msgstr "VPN connection failed" #~ msgid "Connection Name" #~ msgstr "Connection Name" #~ msgid "Optional Information" #~ msgstr "Optional Information" #~ msgid "CA file:" #~ msgstr "CA file:" #~ msgid "Shared Key:" #~ msgstr "Shared Key:" #~ msgid "X.509" #~ msgstr "X.509" danfruehauf-NetworkManager-ssh-f65d65d/po/es.po000066400000000000000000000363021507335542500215460ustar00rootroot00000000000000# translation of NetworkManager-ssh.HEAD.po to Español # Spanish message file for YaST2 (@memory@). # Copyright (C) 2005 SUSE Linux Products GmbH. # Copyright (C) 2002, 2003 SuSE Linux AG. # Copyright (C) 1999, 2000, 2001 SuSE GmbH. # # Ibán josé García Castillo , 2000. # Javier Moreno , 2000. # Jordi Jaen Pallares , 1999, 2000, 2001. # Pablo Iranzo Gómez , 2000. # Jorge González , 2007, 2008, 2009, 2010. # Daniel Mustieles , 2011. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-14 14:18+0200\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "Language: \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-Generator: KBabel 1.11.4\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Debe autenticarse para acceder a la red privada virtual «%s»." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autenticación VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Contraseña:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Contraseña:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Contraseña _secundaria:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "M_ostrar contraseñas" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatible con el servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Guardada" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Preguntar siempre" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Contraseña" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticación TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "No necesario" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opciones avanzadas de SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Usar un p_uerto de pasarela personalizado:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Usar unidad máxima de transmisión (MTU) del _túnel personalizada:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" # include/scanner/scanner_usb.ycp:47 # include/scanner/scanner_usb.ycp:47 # include/scanner/scanner_usb.ycp:47 #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Usar dispositivo TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Usuario del proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "General" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Pasarela:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Dirección IP remota:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Dirección IP local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Dirección IP remota:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Dirección IP local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vanzado…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticación" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipo:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticación TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostrar contraseñas" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Archivo de clave:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "dirección «%s» no válida" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "propiedad entera «%s» no válida o fuera de rango [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "propiedad booleana «%s» no válida (no es «sí» o «no»)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "propiedad «%s» de tipo %s no controlada" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "propiedad «%s» no válida o no soportada" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "No hay opciones de configuración de VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "No se pudo encontrar la biblioteca ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "No se pudo encontrar la biblioteca ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostrar contraseñas" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Tipo de conexión«%s» desconocido." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Número de puerto no válido «%s»." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Tamaño de MTU del TUN «%s» no válido." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Número de puerto no válido «%s»." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Falta la direccioÌn IP remota para el modo de clave estaÌtica." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Falta la dirección IP local para el modo de clave estática." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Falta la direccioÌn IP remota para el modo de clave estaÌtica." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Falta la dirección IP local para el modo de clave estática." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "No se pudo procesar la solicitud porque la configuración de la conexión VPN " "no es válida." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "No salir cuando la conexión VPN termine" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" "Activar el registro de depurado detallado (puede mostrar las contraseñas)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-vpnc-service proporciona la integración de SSH con NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "_Contraseña del certificado:" #~ msgid "Certificate password:" #~ msgstr "Contraseña del certificado:" #~ msgid "Choose your personal certificate..." #~ msgstr "Elija su certificado personal…" #~ msgid "Choose your private key..." #~ msgstr "Elija su clave privada…" #~| msgid "Not required" #~ msgid "Not Required" #~ msgstr "No requerido" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Elija un certificado de una autoridad de certificados…" #~ msgid "Choose an SSH static key..." #~ msgstr "Elija una clave estática SSH…" #~ msgid "None" #~ msgstr "Ninguno" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificados PEM o PKCD#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificados PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Claves estáticas SSH (*.key)" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificados (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Contraseñas con certificados (TLS)" #~ msgid "Static Key" #~ msgstr "Clave estática" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Conectar sólo con servidores cuyos certificados coincidan con el " #~ "asunto proporcionado.\n" #~ "Ejemplo: /CN=mivpn.empresa.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Si se usa la dirección de la clave, debe ser la opuesta a la usada en " #~ "el par VPN. Por ejemplo, si el par usa «1», esta conexión debe usar «0». " #~ "Si no está seguro de qué valor usar, contacte con el administrador de su " #~ "sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Seleccionar esta opción si su organización requiere usar un servidor " #~ "proxy para acceder a Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificado CA:" # clients/inst_custom_part.ycp:2337 # clients/inst_custom_part.ycp:2336 # clients/inst_custom_part.ycp:2350 #~ msgid "Cipher:" #~ msgstr "Cifrado:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticación HMAC" #~ msgid "Key Direction:" #~ msgstr "Dirección de la clave:" #~ msgid "Port:" #~ msgstr "Puerto:" #~ msgid "Private Key Password:" #~ msgstr "Contraseña de la clave privada:" #~ msgid "Private Key:" #~ msgstr "Clave privada:" #~ msgid "Proxies" #~ msgstr "Proxies" #~ msgid "Proxy Password:" #~ msgstr "Contraseña del proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tipo de proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Restringir el tamaño del segmento máximo del túnel TCP (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Reintentar indefinidamente cuando sucedan errores" #~ msgid "Security" #~ msgstr "Seguridad" #~ msgid "Server Address:" #~ msgstr "DireccioÌn del servidor:" #~ msgid "Show password" #~ msgstr "Mostrar contraseña" #~ msgid "Static Key:" #~ msgstr "Clave estática:" #~ msgid "Subject Match:" #~ msgstr "Coincidencia de asunto:" #~ msgid "Use L_ZO data compression" #~ msgstr "Usar compresión L_ZO" # include/printconf/dialogs.ycp:150 #~ msgid "Use a _TCP connection" #~ msgstr "Usar conexión _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Usar autenticación TLS adicional" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Usar tamaño de _fragmentación UDP personalizado:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Usar intervalo de _renegociación personalizado:" #~ msgid "User Certificate:" #~ msgstr "Certificado de usuario:" #~ msgid "User name:" #~ msgstr "Nombre de usuario:" #~ msgid "No VPN secrets!" #~ msgstr "No hay secretos VPN." #~ msgid "Invalid HMAC auth." #~ msgstr "Autenticación HMAC no válida." #~ msgid "Invalid connection type." #~ msgstr "Tipo de conexión no válido." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Tipo de proxy «%s» no válido." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Número de segundos de regenociación «%s» no válidos." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Tamaño de fragmento «%s» no válido." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "No se pudo procesar la solicitud porque no se ha proporcionado un nombre " #~ "de usuario." #~ msgid "_Username:" #~ msgstr "Nombre de _usuario:" #~ msgid "_Domain:" #~ msgstr "_Dominio:" # include/printconf/dialogs.ycp:150 #~ msgid "Connect _anonymously" #~ msgstr "Conectar _anónimamente" # include/scanner/scanner_overview.ycp:85 # include/scanner/scanner_overview.ycp:85 # include/scanner/scanner_overview.ycp:85 #~ msgid "Connect as _user:" #~ msgstr "Conectar como _usuario:" # include/partitioning/custom_part_dialogs.ycp:67 # include/partitioning/custom_part_dialogs.ycp:67 # include/partitioning/custom_part_dialogs.ycp:67 include/partitioning/custom_part_dialogs.ycp:197 #~ msgid "_Remember password for this session" #~ msgstr "_Recordar la contraseña para esta sesión" #~ msgid "_Save password in keyring" #~ msgstr "_Guardar la contraseña en el depósito de claves" #~ msgid "Certificate Password:" #~ msgstr "Contraseña del certificado:" #~ msgid "Select A File" #~ msgstr "Seleccione un archivo" #~ msgid "gtk-cancel" #~ msgstr "gtk-cancel" #~ msgid "gtk-ok" #~ msgstr "gtk-ok" #~ msgid "page 1" #~ msgstr "página 1" #~ msgid "page 2" #~ msgstr "página 2" #~ msgid "page 3" #~ msgstr "página 3" #~ msgid "page 4" #~ msgstr "página 4" danfruehauf-NetworkManager-ssh-f65d65d/po/et.po000066400000000000000000000271611507335542500215520ustar00rootroot00000000000000# GNOME NetworkManager - SSH klient # # Copyright (C) 2007 The GNOME Project. # This file is distributed under the same license as the NetworkManager-ssh package. # # Priit Laes , 2007. # Ivar Smolin , 2007. # Mattias Põldaru , 2007-2011. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-15 08:45+0300\n" "Last-Translator: Mattias Põldaru \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "VPN-võrgule '%s' ligipääsuks pead end autentima." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN-i autentimine" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Parool:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Parool:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Parool _uuesti:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Näita parooli" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Ühildub SSH serveriga." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Parool" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS'iga autentimine" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Pole vajalik" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH laiendatud sätted" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Kasuta muud gateway _porti:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Kohandatud _tunneli suurima edastusühiku suurus (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TA_P-seadme kasutamine" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "_Proksi kasutajanimi:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Üldine" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Üldine" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Kaugmasina IP-aadress:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Kohalik IP-aadress:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Kaugmasina IP-aadress:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Kohalik IP-aadress:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Laiendatud..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentimine" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tüüp:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS'iga autentimine" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Näita paroole" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Võtmefail:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Näita paroole" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_Kasutajanimi:" #~ msgid "_Domain:" #~ msgstr "_Domeen:" #~ msgid "Connect _anonymously" #~ msgstr "Ühendu _anonüümselt" #~ msgid "Connect as _user:" #~ msgstr "Ühendu ka_sutajana:" #~ msgid "_Remember password for this session" #~ msgstr "_Jäta parool selle sessiooni ajaks meelde" #~ msgid "_Save password in keyring" #~ msgstr "Parooli salvestamine _võtmerõngasse" #~ msgid "Certificate pass_word:" #~ msgstr "Sertifikaadi _parool:" #~ msgid "Certificate password:" #~ msgstr "Sertifikaadi parool:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Vali sertifikaadikeskuse serdifail..." #~ msgid "Choose your personal certificate..." #~ msgstr "Vali isiklik sertifikaat..." #~ msgid "Choose your private key..." #~ msgstr "Vali privaatvõti..." #~ msgid "Choose an SSH static key..." #~ msgstr "Vali SSH püsivõti..." #~ msgid "None" #~ msgstr "Pole" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM või PKCS#12 sertifikaadid (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM sertifikaadid (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH püsivõtmed (*.key)" #~ msgid "Default" #~ msgstr "Vaikimisi" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Sertifikaadid (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Parool koos sertifikaatidega (TLS)" #~ msgid "Static Key" #~ msgstr "Püsivõti" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Ühendus luuakse ainult serveriga, mille sertifikaat kattub määratud " #~ "nimega.\n" #~ "Näiteks: /CN=myvpn.kompanii.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Kui kasutatakse võtme suunda, peab see olema vastupidine teise VPN'i " #~ "võtme suunale. Näitaks, kui teine masin kasutab '1', peab siin olema '0'. " #~ "Kui sa ei tea, millist väärtust kasutada, küsi süsteemiadministraatorilt." #~ "" #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Vali see, kui sinu organisatsioon nõuab interneti kasutamist " #~ "proksiserveri kaudu." #~ msgid "CA Certificate:" #~ msgstr "Sertifikaadikeskuse serdifail:" #~ msgid "Cipher:" #~ msgstr "Å iffer:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC'iga autentimine" #~ msgid "Key Direction:" #~ msgstr "Võtme suund:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Privaatvõtme parool:" #~ msgid "Private Key:" #~ msgstr "Privaatvõti:" #~ msgid "Proxies" #~ msgstr "Proksid" #~ msgid "Proxy Password:" #~ msgstr "Proksi parool:" #~ msgid "Proxy Type:" #~ msgstr "Proksi liik:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Tunneli TCP maksimaalse segmendi suurus piiratud (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Vigade korral proovitakse lõpmatuseni uuesti" #~ msgid "Security" #~ msgstr "Turvalisus" #~ msgid "Server Address:" #~ msgstr "Serveri aadress:" #~ msgid "Static Key:" #~ msgstr "Püsivõti:" #~ msgid "Subject Match:" #~ msgstr "Kattuv nimi:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO-pakkimise kasutamine" #~ msgid "Use a _TCP connection" #~ msgstr "_TCP-ühenduse kasutamine" #~ msgid "Use additional TLS authentication" #~ msgstr "Lisaks TLS-autentimise kasutamine" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Kohandatud UDP-_fragmendi suurus:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Kohandatud _kordusläbirääkimiste intervall:" #~ msgid "User Certificate:" #~ msgstr "Kasutaja sertifikaat:" #~ msgid "User name:" #~ msgstr "Kasutajanimi:" danfruehauf-NetworkManager-ssh-f65d65d/po/eu.po000066400000000000000000000277111507335542500215540ustar00rootroot00000000000000# translation of eu_to_be_translate.po to Basque # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Iñaki Larrañaga Murgoitio , 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: eu_to_be_translate\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-11-19 16:38+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Autentifikatu egin behar zara '%s' VPN-ra (Sare Birtual Pribatua) " "sarbidetzeko." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentifikatu VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Pasahitza:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Pasahitza:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Bigarren pasahitza:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Erakutsi pasahitzak" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH zerbitzariarekin bateragarria." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Pasahitza" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS autentifikazioa" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ez da beharrezkoa" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH-ren aukera aurreratuak" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Erabili atebidearen _ataka pertsonalizatua:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "Erabili _tunelaren Gehienezko Transmisio Unitatea (MTU) pertsonalizatua:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Erabili TA_P gailua" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Proxy-aren erabiltzaile-izena:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Orokorra" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Orokorra" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Atebidea:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Urruneko IP helbidea:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "IP helbide lokala:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Urruneko IP helbidea:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "IP helbide lokala:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Aurreratua..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentifikazioa" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Mota:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS autentifikazioa" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Erakutsi pasahitzak" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Gakoaren fitxategia:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Erakutsi pasahitzak" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_Erabiltzaile-izena:" #~ msgid "_Domain:" #~ msgstr "_Domeinua:" #~ msgid "Connect _anonymously" #~ msgstr "Konektatu _anonimo gisa" #~ msgid "Connect as _user:" #~ msgstr "Konektatu _erabiltzaile gisa:" #~ msgid "_Remember password for this session" #~ msgstr "_Gogoratu pasahitza saio honetan" #~ msgid "_Save password in keyring" #~ msgstr "_Gorde pasahitza gako-sortan" #~ msgid "Certificate pass_word:" #~ msgstr "_Ziurtagiriaren pasahitza:" #~ msgid "Certificate password:" #~ msgstr "Ziurtagiriaren pasahitza:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Aukeratu Ziurtagiri-Emailearen ziurtagiria..." #~ msgid "Choose your personal certificate..." #~ msgstr "Aukeratu ziurtagiri pertsonala..." #~ msgid "Choose your private key..." #~ msgstr "Aukeratu gako pribatua..." #~ msgid "Choose an SSH static key..." #~ msgstr "Aukeratu SSH gako estatikoa..." #~ msgid "None" #~ msgstr "Bat ere ez" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM edo PKCS#12 ziurtagiriak (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM ziurtagiriak (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH gako estatikoak (*.key)" #~ msgid "Default" #~ msgstr "Lehenetsia" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Ziurtagiriak (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Pasahitza ziurtagiriekin (TLS)" #~ msgid "Static Key" #~ msgstr "Gako estatikoa" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Konektatu soilik emandako gaiarekin bat datozten ziurtagiriak dituzten " #~ "zerbitzariekin.\n" #~ "Adibidez: /CN=nirevpn.enpresa.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Gakoaren helbidea erabiltzen bada, VPN parekoarenaren aurkakoa izan " #~ "behar du. Esate baterako, parekoak '1' erabiltzen badu, konexio honek '0' " #~ "erabili behar du. Zein balio erabili behar duzun ez badakizu, jar zaitez " #~ "sistemako administratzailearekin harremanetan." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Hautatu aukera hau erakundeak proxy zerbitzari bat behar badu " #~ "Internetera sarbidetzeko." #~ msgid "CA Certificate:" #~ msgstr "ZE ziurtagiria:" #~ msgid "Cipher:" #~ msgstr "Zifratua:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC autentifikazioa:" #~ msgid "Key Direction:" #~ msgstr "Gakoaren helbidea:" #~ msgid "Port:" #~ msgstr "Ataka:" #~ msgid "Private Key Password:" #~ msgstr "Gako pribatuaren pasahitza:" #~ msgid "Private Key:" #~ msgstr "Gako pribatua:" #~ msgid "Proxies" #~ msgstr "Proxy-ak" #~ msgid "Proxy Password:" #~ msgstr "Proxy-aren pasahitza:" #~ msgid "Proxy Type:" #~ msgstr "Proxy mota:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Murriztu TCP tunela gehienezko segmentu-tamainara (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Saiatu behin et berriz errorea gertatzean" #~ msgid "Security" #~ msgstr "Segurtasuna" #~ msgid "Server Address:" #~ msgstr "Zerbitzariaren helbidea:" #~ msgid "Static Key:" #~ msgstr "Gako estatikoa:" #~ msgid "Subject Match:" #~ msgstr "Gaiaren bat etortzea:" #~ msgid "Use L_ZO data compression" #~ msgstr "Erabili _LZO datu-konpresioa" #~ msgid "Use a _TCP connection" #~ msgstr "Erabili _TCP konexioa" #~ msgid "Use additional TLS authentication" #~ msgstr "Erabili TLS autentifikazio gehigarria" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Erabili UDP _zatiaren tamaina pertsonalizatua:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Erabili berriro negoziatzeko bitarte pertsonalizatua:" #~ msgid "User Certificate:" #~ msgstr "Erabiltzailearen ziurtagiria:" #~ msgid "User name:" #~ msgstr "Erabiltzaile-izena:" danfruehauf-NetworkManager-ssh-f65d65d/po/fa.po000066400000000000000000000314271507335542500215300ustar00rootroot00000000000000# Persian translation for network-manager-ssh. # Copyright (C) 2010 IFSUG Translation Group. # This file is distributed under the same license as the network-manager-ssh package. # Arash Mousavi , 2010. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-10-20 23:48+0330\n" "Last-Translator: Arash Mousavi \n" "Language-Team: Persian\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "برای دسترسی به شبکه خصوصی مجازی «%s» احتیاج به تایید هویت دارید." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "تایید هویت وی‌پی‌ان" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "گذرواژه:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_گذرواژه:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_دومین گذرواژه:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "نمایش گذرواژه‌ها" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "سازگار با کارگزار SSH" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "گذرواژه" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "تاییدیه TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "لازم نیست" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "گزینه‌های Ù¾ÛŒØ´Ø±ÙØªÙ‡â€ŒÛŒ SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از _درگاه دروازه‌ی اختصاصی:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از _تونل بیشینه ارسال واحد دلخواه (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از یک _دستگاه TAP" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "نام‌کاربری پیشکار:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "عمومی" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "عمومی" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_دروازه:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "آدرس IP دوردست:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "آدرس IP محلی:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "آدرس IP دوردست:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "آدرس IP محلی:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Ù¾ÛŒØ´Ø±ÙØªÙ‡..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "تایید هویت" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "نوع:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "تاییدیه TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "نمایش گذرواژه‌ها" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "پرونده‌ی کلید:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "نمایش گذرواژه‌ها" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_نام کاربری:" #~ msgid "_Domain:" #~ msgstr "_دامنه:" #~ msgid "Connect _anonymously" #~ msgstr "اتصال _ناشناس" #~ msgid "Connect as _user:" #~ msgstr "اتصال با عنوان _کاربر:" #~ msgid "_Remember password for this session" #~ msgstr "گذرواژهٔ در طول این نشست به _خاطر سپرده شود" #~ msgid "_Save password in keyring" #~ msgstr "_ذخیره‌ی گذرواژه در دسته‌کلید" #~ msgid "Certificate pass_word:" #~ msgstr "_گذرواژه‌ی تاییدیه:" #~ msgid "Certificate password:" #~ msgstr "گذرواژه‌ی تاییدیه:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "انتخاب یک تاییدیه صلاحیت تاییدیه..." #~ msgid "Choose your personal certificate..." #~ msgstr "تاییدیه شخصی خود را انتخاب کنید..." #~ msgid "Choose your private key..." #~ msgstr "کلید اختصاصی خود را انتخاب کنید..." #~ msgid "Choose an SSH static key..." #~ msgstr "یک کلید ایستا SSH انتخاب کنید..." #~ msgid "None" #~ msgstr "هیچ‌کدام" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "تادییه‌های PEM Ùˆ یا PKCS#12 شامل (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "تادییه‌های PEM شامل (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "کلیدهای ایستا SSH شامل (*.key)" #~ msgid "Default" #~ msgstr "Ù¾ÛŒØ´â€ŒÙØ±Ø¶" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "تاییدیه (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "گذرواژه همراه با تاییدیه (TLS)" #~ msgid "Static Key" #~ msgstr "کلید ایستا" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "اتصال تنها به کارگزارهایی تادییه آنها با مورد داده شده همخوان باشد.\n" #~ "مثال: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "اگر از جهت کلید Ø§Ø³ØªÙØ§Ø¯Ù‡ شود، باید با همتا VPN خود مخال٠باشد. برای " #~ "مثال، اگر همتا از «۱» Ø§Ø³ØªÙØ§Ø¯Ù‡ کند، این اتصال باید از «۰» Ø§Ø³ØªÙØ§Ø¯Ù‡ کند. اگر " #~ "شما از مقداری Ú©Ù‡ باید Ø§Ø³ØªÙØ§Ø¯Ù‡ نامطمئن هستید، با مدیریت سیستم خود تماس " #~ "بگیرید." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "چناچه موسسه شما برای اتصال به اینترنت به پیشکار احتیاج دارد، از این " #~ "گزینه Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید." #~ msgid "CA Certificate:" #~ msgstr "تاییدیه CA:" #~ msgid "Cipher:" #~ msgstr "رمز (Cipher):" #~ msgid "HMAC Authentication:" #~ msgstr "تایید هویت HMAC:" #~ msgid "Key Direction:" #~ msgstr "جهت کلید:" #~ msgid "Port:" #~ msgstr "درگاه:" #~ msgid "Private Key Password:" #~ msgstr "گذرواژه کلید اختصاصی:" #~ msgid "Private Key:" #~ msgstr "کلید اختصاصی:" #~ msgid "Proxies" #~ msgstr "پیشکارها:" #~ msgid "Proxy Password:" #~ msgstr "گذرواژه پیشکار:" #~ msgid "Proxy Type:" #~ msgstr "نوع پیشکار:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "منحصر کردن تونل TCP به بیشینه اندازه قطعه (MMS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "تلاش مجدد نامحدود در صورت بروز خطا" #~ msgid "Security" #~ msgstr "امنیت" #~ msgid "Server Address:" #~ msgstr "آدرس کارگزار:" #~ msgid "Static Key:" #~ msgstr "کلید ایستا:" #~ msgid "Subject Match:" #~ msgstr "مطابقت با مورد:" #~ msgid "Use L_ZO data compression" #~ msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از ÙØ´Ø±Ø¯Ù‡â€ŒØ³Ø§Ø²ÛŒ اطلاعات _LZO" #~ msgid "Use a _TCP connection" #~ msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از یک اتصال _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از تاییدیه TLS اضاÙÛŒ" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از اندازه _قطعه USP دلخواه:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از وقÙÙ‡ دلخواه در ارتباط مجدد:" #~ msgid "User Certificate:" #~ msgstr "تاییدیه کاربر:" #~ msgid "User name:" #~ msgstr "نام‌کاربری:" danfruehauf-NetworkManager-ssh-f65d65d/po/fi.po000066400000000000000000000404761507335542500215440ustar00rootroot00000000000000# Finnish messages for NetworkManager-ssh. # Copyright (C) 2006-2008 Free Software Foundation. # Ilkka Tuohela , 2006-2008. # # Suomennos: http://gnome.fi/ # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2008-11-29 20:00+0300\n" "Last-Translator: Ilkka Tuohela \n" "Language-Team: Finnish \n" "Language: fi\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Yhteydenotto VPN-verkkoon \"%s\" vaatii kirjautumista." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Todenna VPN-yhteyden avaus" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Salasana:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Salasana:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Toissijainen salasana:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Näytä salasanat" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Yhteensopiva SSH-palvelimen kanssa." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Salasana" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Tunnistautuminen" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH-lisäasetukset" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Käytä _muuta yhdyskäytävän porttia:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Käytä TA_P-laitetta" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Käyttäjätunnus:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Yleisasetukset" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Yleisasetukset" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Yhdyskäytävä:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "Oma IP-osoite:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Oma IP-osoite:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Oma IP-osoite:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Oma IP-osoite:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Lisäasetukset..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Tunnistautuminen" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tyyppi:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Käytä lisäksi TLS-tunnistatumista" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Näytä salasanat" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Avaintiedosto:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Näytä salasanat" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "VPN-kirjautuminen epäonnistui, koska VPN-asetuksten valinnat olivat " "virheelliset." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_Käyttäjätunnus:" #~ msgid "_Domain:" #~ msgstr "_Toimialue:" #~ msgid "Connect _anonymously" #~ msgstr "Yhdistä _anonyymisti" #~ msgid "Connect as _user:" #~ msgstr "Yhdistä _käyttäjänä:" #~ msgid "_Remember password for this session" #~ msgstr "_Muista salasana istunnon ajan" #~ msgid "_Save password in keyring" #~ msgstr "_Tallenna salasana avainrenkaaseen" #~ msgid "Certificate pass_word:" #~ msgstr "Varmenteen _salasana:" #~ msgid "Certificate password:" #~ msgstr "Varmennettu salasana:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Valitse CA-varmenne..." #~ msgid "Choose your personal certificate..." #~ msgstr "Valitse oma varmenteesi..." #~ msgid "Choose your private key..." #~ msgstr "Valitse salainen avaimesi..." #~ msgid "Choose an SSH static key..." #~ msgstr "Valitse OpenPVN:n staattinen avain..." #~ msgid "None" #~ msgstr "Ei mitään" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM-varmenteet (*.pem, *.crt, *.key tai *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Pysyvät SSH-avaimet (*.key)" #~ msgid "Default" #~ msgstr "Oletus" #~ msgid "Certificates (TLS)" #~ msgstr "Varmenteet (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Salasana varmenteiden kanssa (TLS)" #~ msgid "Static Key" #~ msgstr "Staattinen avain" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Jos avaimen suuntaa käytetään, täytyy annetun arvon olla vastkkainen " #~ "kuin VPN-yhteyden toisessa päässä. Jos esimerkiksi vastapäässä on arvo 1, " #~ "tämän täytyy olla 0. Jos et tiedä mitä tässä pitäisi olla, kysy VPN-" #~ "yhteytesi ylläpitäjältä lisätietoja." #~ msgid "CA Certificate:" #~ msgstr "CA-varmenne:" #~ msgid "Cipher:" #~ msgstr "Salausmenetelmä:" #~ msgid "Key Direction:" #~ msgstr "Avaimen suunta:" #~ msgid "Private Key Password:" #~ msgstr "Salaisen avaimen salasana:" #~ msgid "Private Key:" #~ msgstr "Salainen avain:" #~ msgid "Static Key:" #~ msgstr "Kiinteä avain:" #~ msgid "Use L_ZO data compression" #~ msgstr "Käytä L_ZO-pakkausta" #~ msgid "Use a _TCP connection" #~ msgstr "Käytä _TCP-yhteyttä" #~ msgid "User Certificate:" #~ msgstr "Käyttäjän varmenne:" #~ msgid "User name:" #~ msgstr "Käyttäjätunnus:" #~ msgid "Certificate Password:" #~ msgstr "Varmenteen salasana:" #~ msgid "Select A File" #~ msgstr "Valitse tiedosto" #~ msgid "gtk-cancel" #~ msgstr "gtk-cancel" #~ msgid "gtk-ok" #~ msgstr "gtk-ok" #~ msgid "page 1" #~ msgstr "sivu 1" #~ msgid "page 2" #~ msgstr "sivu 2" #~ msgid "page 3" #~ msgstr "sivu 3" #~ msgid "page 4" #~ msgstr "sivu 4" #~ msgid "The following SSH connection will be created:" #~ msgstr "Seuraava SSH-yhteys luodaan:" #~ msgid "Name: %s" #~ msgstr "Nimi: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Yhteyden tyyppi: X.509-varmenteet" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Varmenne: %s" #~ msgid "Key: %s" #~ msgstr "Avain: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Yhteyden tyyppi: jaettu avain" #~ msgid "Shared Key: %s" #~ msgstr "Jaettu avain: %s" #~ msgid "Remote IP: %s" #~ msgstr "Palvelimen IP-osoite: %s" #~ msgid "Connection Type: Password" #~ msgstr "Yhteyden tyyppi: Salasana" #~ msgid "Username: %s" #~ msgstr "Käyttäjätunnus: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Yhteyden tyyppi: X.509 salasanalla todennuksella" #~ msgid "Remote: %s" #~ msgstr "Palvelin: %s" #~ msgid "Port: %s" #~ msgstr "Portti: %s" #~ msgid "Device: %s" #~ msgstr "Laite: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protokolla: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Reitit: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Käytä LZO-pakkausta: %s" #~ msgid "Yes" #~ msgstr "Kyllä" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS-todentaminen: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Yhteyden yksityiskohtia voi muuttaa valitsemalla \"Muokkaa\"." #~ msgid "Cannot import settings" #~ msgstr "Asetuksia ei voi tuoda" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN-asetustiedosto \"%s\" ei sisällä kelvollisia tietoja." #~ msgid "Select file to import" #~ msgstr "Valitse tuotava tiedosto" #~ msgid "Select certificate to use" #~ msgstr "Valitse käytettävä varmenne" #~ msgid "Select key to use" #~ msgstr "Valitse käytettävä avain" #~ msgid "Select shared key to use" #~ msgstr "Valitse käytettävä jaettu avain" #~ msgid "Select TA to use" #~ msgstr "Valitse käytettävä TA" #~ msgid "Save as..." #~ msgstr "Tallenna nimellä..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Tiedosto \"%s\" on jo olemassa." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Haluatko korvata sen tiedostolla jota olet tallentamassa?" #~ msgid "Failed to export configuration" #~ msgstr "Asetuksia ei voitu viedä" #~ msgid "Failed to save file %s" #~ msgstr "Tiedostoa \"%s\" ei voitu tallentaa" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "esimerkki: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "C_A-tiedosto:" #~ msgid "Co_nnection type:" #~ msgstr "_Yhteyden tyyppi:" #~ msgid "Connection na_me:" #~ msgstr "Yhteyden _nimi:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Tuo _tallennettu määrittely..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Yksilöllinen VPN-verkon nimi, esimerkiksi \"Kampusverkko\" tai " #~ "\"Työpaikan verkko\"." #~ msgid "Network" #~ msgstr "Verkko" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "_Käytä VPN-yhteyttä seuraaville osoitteille" #~ msgid "SSH Configuration" #~ msgstr "SSH-määrittely" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Syötä järjestelmän ylläpitäjältä saamasi tiedot alla oleviin kohtiin. Älä " #~ "syötä tähän salasanaasi, sillä se kysytään vasta otettaessa yhteyttä." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Huomaa, että tuotava tiedosto ei ole SSH-asetustiedosto. Kysy " #~ "ylläpitäjältäsi oikeaa tiedostoa." #~ msgid "Shared _key:" #~ msgstr "_Jaettu avain:" #~ msgid "TLS-Auth" #~ msgstr "TLS-todentaminen" #~ msgid "Use _TLS auth:" #~ msgstr "Käytä _TLS-todentamista:" #~ msgid "Use cip_her:" #~ msgstr "Salaus_menetelmä:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509-varmenteet\n" #~ "Jaettu avain\n" #~ "Salasanalla todentaminen\n" #~ "X.509 salasanatodennuksella" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "_Yhdyskäytävän osoite:" #~ msgid "_Key:" #~ msgstr "_Avain:" #~ msgid "_Local IP:" #~ msgstr "_Paikallinen IP-osoite:" #~ msgid "_Remote IP:" #~ msgstr "_Palvelimen IP-osoite:" #~ msgid "_none" #~ msgstr "_ei mitään" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Lisää, poista tai muokkaa VPN-yhteyksiä" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN-yhteyksien hallinta (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "VPN-kirjautuminen epäonnistui, koska käyttäjätunnusta ja salasanaa ei " #~ "hyväsytty, tai varmenteen salasana oli väärin." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "" #~ "VPN-kirjautuminen epäonnistui, koska VPN-ohjelmaa ei voitu käynnistää." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "VPN-kirjatuminen epäonnistui, koska VPN-ohjelma ei saanut yhteyttä VPN-" #~ "palvelimeen." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "VPN-kirjautuminen epäonnistui, koska VPN-ohjelma sai epäyhteensopivat " #~ "asetukset VPN-palvelimelta." #~ msgid "VPN connection failed" #~ msgstr "VPN-yhteyden avaus epäonnistui" #~ msgid "Connection Information" #~ msgstr "Tietoja yhteydestä" #~ msgid "CA file:" #~ msgstr "CA-tiedosto:" #~ msgid "Optional" #~ msgstr "Valinnaiset tiedot" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "X.509/Pass" #~ msgstr "X.509/salasana" danfruehauf-NetworkManager-ssh-f65d65d/po/fr.po000066400000000000000000000344071507335542500215520ustar00rootroot00000000000000# French translation of NetworkManager-SSH. # Copyright (C) 2006-2010 The GNOME Foundation. # This file is distributed under the same license as the NetworkManager-SSH package # # Haïkel Guémar , 2006. # Jonathan Ernst , 2007. # Stéphane Raimbault , 2007-2008. # Robert-André Mauchin , 2007-2008. # Claude Paroz , 2009. # Nicolas Repentin , 2010. # Bruno Brouard , 2011. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-20 12:53+0100\n" "Last-Translator: Bruno Brouard \n" "Language-Team: GNOME French Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Authentifiez-vous pour accéder au réseau privé virtuel « %s »." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Authentifier le VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Mot de passe :" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Mot de passe :" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Mot de passe _secondaire :" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Afficher le mot de passe" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatible avec le serveur SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Mot de passe" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Authentification TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Non requis" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Options avancées SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Utiliser un p_ort de passerelle personnalisé :" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "Utiliser une unité maximale de _transmission (MTU en anglais) personnalisée :" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Utiliser un périphérique TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nom d'utilisateur du serveur mandataire :" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Général" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Général" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Passerelle :" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Adresse IP distante :" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Adresse IP locale :" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Adresse IP distante :" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Adresse IP locale :" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vancé..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Authentification" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Type :" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Authentification TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Afficher les mots de passe" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Fichier de clé :" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "adresse « %s » non valide" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "propriété nombre entier « %s » non valide ou hors limites [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "propriété booléenne « %s » non valide (ni oui, ni non)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "propriété « %s » de type « %s » non gérée" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "propriété « %s » non valide ou non prise en charge" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Pas d'options de configuration VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Impossible de trouver le binaire ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Impossible de trouver le binaire ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Afficher les mots de passe" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Type de connexion « %s » inconnu." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Numéro de port « %s » non valide." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Taille de MTU TUN « %s » non valide." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Numéro de port « %s » non valide." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Adresse IP distante manquante pour le mode de clé statique." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Adresse IP locale manquante pour le mode de clé statique." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Adresse IP distante manquante pour le mode de clé statique." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Adresse IP locale manquante pour le mode de clé statique." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Impossible de traiter la requête car les paramètres de connexion VPN ne sont " "pas valides." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Ne pas quitter lorsque la connexion VPN se termine" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Activer le débogage verbeux (peut afficher des mots de passe)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-vpnc-service fournit la fonctionnalité SSH intégrée à NetworkManager." #~ msgid "_Username:" #~ msgstr "Nom d'_utilisateur :" #~ msgid "_Domain:" #~ msgstr "_Domaine :" #~ msgid "Connect _anonymously" #~ msgstr "Se connecter _anonymement" #~ msgid "Connect as _user:" #~ msgstr "Se _connecter en tant que :" #~ msgid "_Remember password for this session" #~ msgstr "_Conserver le mot de passe pour cette session" #~ msgid "_Save password in keyring" #~ msgstr "_Enregistrer le mot de passe dans le trousseau de clés" #~ msgid "Certificate pass_word:" #~ msgstr "_Mot de passe du certificat :" #~ msgid "Certificate password:" #~ msgstr "Mot de passe du certificat :" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Choisissez un certificat d'une autorité de certification..." #~ msgid "Choose your personal certificate..." #~ msgstr "Choisissez votre certificat personnel..." #~ msgid "Choose your private key..." #~ msgstr "Choisissez votre clé privée..." #~ msgid "Choose an SSH static key..." #~ msgstr "Choisissez une clé statique SSH..." #~ msgid "None" #~ msgstr "Aucun" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificats PEM ou PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificats PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Clés statiques SSH (*.key)" #~ msgid "Default" #~ msgstr "Par défaut" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificats (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Mot de passe avec certificats (TLS)" #~ msgid "Static Key" #~ msgstr "Clé statique" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Connecter uniquement les serveurs dont le certificat correspond au " #~ "sujet donné.\n" #~ "Exemple : /CN=vpn.monentreprise.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Si une direction de clé est utilisée, elle doit être l'opposé de celle " #~ "utilisée sur le pair VPN. Par exemple, si le pair utilise « 1 », cette " #~ "connexion doit être « 0 ». Si vous n'êtes pas certain de la valeur à " #~ "utiliser, contactez votre administrateur système." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Sélectionnez cette option si votre organisation exige l'utilisation " #~ "d'un serveur mandataire (proxy) pour accéder à Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificat du CA :" #~ msgid "Cipher:" #~ msgstr "Chiffrement :" #~ msgid "HMAC Authentication:" #~ msgstr "Authentification HMAC :" #~ msgid "Key Direction:" #~ msgstr "Direction de la clé :" #~ msgid "Port:" #~ msgstr "Port :" #~ msgid "Private Key Password:" #~ msgstr "Mot de passe de la clé privée :" #~ msgid "Private Key:" #~ msgstr "Clé privée :" #~ msgid "Proxies" #~ msgstr "Serveurs mandataires" #~ msgid "Proxy Password:" #~ msgstr "Mot de passe du serveur mandataire :" #~ msgid "Proxy Type:" #~ msgstr "Type de serveur mandataire :" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Taille maximale du segment TCP du tunnel restreint (MSS en anglais)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Réessayer indéfiniment si des erreurs surviennent" #~ msgid "Security" #~ msgstr "Sécurité" #~ msgid "Server Address:" #~ msgstr "Adresse du serveur :" #~ msgid "Static Key:" #~ msgstr "Clé statique :" #~ msgid "Subject Match:" #~ msgstr "Correspondance du sujet :" #~ msgid "Use L_ZO data compression" #~ msgstr "Utiliser la compression de données L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Utiliser une connexion _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Utiliser une authentification TLS supplémentaire" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Utiliser une taille personnalisée du _fragment UDP :" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Utiliser un intervalle personnalisé de _renégociation :" #~ msgid "User Certificate:" #~ msgstr "Certificat de l'utilisateur :" #~ msgid "User name:" #~ msgstr "Nom d'utilisateur :" #~ msgid "No VPN secrets!" #~ msgstr "Pas d'infos secrètes VPN !" #~ msgid "Invalid HMAC auth." #~ msgstr "Authentification HMAC non valide." #~ msgid "Invalid connection type." #~ msgstr "Type de connexion non valide." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Type de serveur mandataire « %s » non valide." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Secondes de renégociation « %s » non valides." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Taille de fragment « %s » non valide." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Impossible de traiter la requête car aucun nom d'utilisateur n'a été " #~ "indiqué." danfruehauf-NetworkManager-ssh-f65d65d/po/gl.po000066400000000000000000000336571507335542500215530ustar00rootroot00000000000000# Galician translation of NetworkManager Applet # Copyright (C) -2008, The GNOME Foundation # This file is distributed under the same license as the NetworkManager Applet package. # # Ignacio Casal Quinteiro , 2007, 2008. # Mancomún - Centro de Referencia e Servizos de Software Libre , 2009. # Francisco Diéguez , 2010. # Fran Diéguez , 2011. # msgid "" msgstr "" "Project-Id-Version: gl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-04-09 21:04+0200\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Precisa autenticarse para acceder á rede privada virtual (VPN) '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autenticar VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Contrasinal:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Contrasinal:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Contrasinal _secundario:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Mostrar contrasinal" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatíbel co servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Contrasinal" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticación TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Non requirido" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opcións avanzadas de SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Usar un p_orto personalizado de pasarela:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Usar unha Unidade de Transmisión Máxima de _túnel personalizada (MTU)" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Usar un dispositivo TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Usuario do proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Xeral" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Xeral" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Pasarela:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Enderezo IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Enderezo IP local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Enderezo IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Enderezo IP local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Opcións a_vanzadas..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticación" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipo:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticación TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostrar os contrasinais" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Ficheiro de chave:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "enderezo «%s» non válido" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "propiedade enteira «%s» non válida ou fóra de rango [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "propiedade booleana «%s» invaÌlida (non «yes» ou «non»)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "propiedade «%s» do tipo %s non se xestiona" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "a propiedade «%s» non eÌ vaÌlida ou non se admite" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Non hai opcioÌns de configuracioÌn da VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Non foi posiÌbel atopar o binario de ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Non foi posiÌbel atopar o binario de ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostrar os contrasinais" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Tipo de conexión «%s» non válido." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Número de porto non válido «%s»." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Tamaño MTU do TUN «%s» non válido." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Número de porto non válido «%s»." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Falta o enderezo IP remoto requirido polo modo de chave estático." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Falta o enderezo IP local requirido polo modo de chave estática." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Falta o enderezo IP remoto requirido polo modo de chave estático." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Falta o enderezo IP local requirido polo modo de chave estática." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Non foi posíbel procesar a solicitude debido a que as configuracións da " "conexión VPN non son válidos." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Non saír cando unha conexión VPN remata." #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" "Activar o modo detallado de rexistro de depuración (pode mostrar " "contrasinais en claro)." #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-vpnc-service fornece a capacidade de integrar SSH con NetworkManager." #~ msgid "_Username:" #~ msgstr "Nome de _usuario:" #~ msgid "_Domain:" #~ msgstr "_Dominio:" #~ msgid "Connect _anonymously" #~ msgstr "Conectarse _anonimamente" #~ msgid "Connect as _user:" #~ msgstr "Conectarse como _usuario:" #~ msgid "_Remember password for this session" #~ msgstr "Lemb_rar o contrasinal para esta sesión" #~ msgid "_Save password in keyring" #~ msgstr "_Gardar o contrasinal no anel de chaves" #~ msgid "Certificate pass_word:" #~ msgstr "_Contrasinal do certificado:" #~ msgid "Certificate password:" #~ msgstr "Contrasinal do certificado:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Seleccionar un certificado de Autoridade de Certificación…" #~ msgid "Choose your personal certificate..." #~ msgstr "Seleccione o seu certificado persoal…" #~ msgid "Choose your private key..." #~ msgstr "Seleccione a súa chave privada…" #~ msgid "Choose an SSH static key..." #~ msgstr "Seleccionar unha chave estática SSH…" #~ msgid "None" #~ msgstr "Ningún" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificados PEM ou PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificados PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Chaves estáticas SSH (*.key)" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificados (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Contrasinal con certificados (TLS)" #~ msgid "Static Key" #~ msgstr "Chave estática" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Só conectar cos servidores cuxos certificados coincidan co asunto " #~ "fornecido.\n" #~ "Exemplo: /CN=avpnda.empresa.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Se se utiliza a dirección da chave, esta debe ser oposta á da " #~ "utilizada no peer VPN. Por exemplo, se o peer usa '1', esta conexión debe " #~ "utilizar '0'. Se non está seguro de que valor utilizar, contacte co seu " #~ "administrador do sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Seleccione esta opción se a súa organización lle obriga a usar un " #~ "servidor proxy para acceder a Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificado CA:" #~ msgid "Cipher:" #~ msgstr "Cifrado:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticación HMAC:" #~ msgid "Key Direction:" #~ msgstr "Dirección da chave:" #~ msgid "Port:" #~ msgstr "Porto:" #~ msgid "Private Key Password:" #~ msgstr "Contrasinal de chave privada:" #~ msgid "Private Key:" #~ msgstr "Chave privada:" #~ msgid "Proxies" #~ msgstr "Proxies" #~ msgid "Proxy Password:" #~ msgstr "Contrasinal do proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tipo de proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Restrinxir o tamaño do segmento máximo do túnel TCP (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Reintentar indefinidamente cando se produzan erros" #~ msgid "Security" #~ msgstr "Seguranza" #~ msgid "Server Address:" #~ msgstr "Enderezo do servidor:" #~ msgid "Static Key:" #~ msgstr "Chave estática:" #~ msgid "Subject Match:" #~ msgstr "Coincidir o asunto:" #~ msgid "Use L_ZO data compression" #~ msgstr "Usar a compresión de datos L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Usar unha conexión _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Usar adicionalmente a autenticación TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Usar un tamaño de _fragmento UDP personalizado:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Usar un intervalo de _renegociación personalizado:" #~ msgid "User Certificate:" #~ msgstr "Certificado de usuario:" #~ msgid "User name:" #~ msgstr "Nome de usuario:" #~ msgid "No VPN secrets!" #~ msgstr "Non hai segredos de VPN!" #~ msgid "Invalid HMAC auth." #~ msgstr "Autenticación HMAC non válida." #~ msgid "Invalid connection type." #~ msgstr "Tipo de conexión non válido." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Tipo de proxy «%s» non válido." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Segundos de renegociación «%s» non válidos." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Tamaño do fragmento «%s» non válido." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Non foi posíbel procesar a solicitude debido a que non se forneceu un " #~ "nome de usuario." danfruehauf-NetworkManager-ssh-f65d65d/po/gu.po000066400000000000000000000234251507335542500215540ustar00rootroot00000000000000# translation of gu.po to Gujarati # Gujarati translation of network-manager-ssh. # Copyright (C) 2009 network-manager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # # Sweta Kothari , 2009, 2011. msgid "" msgstr "" "Project-Id-Version: gu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-02-18 11:13+0530\n" "Last-Translator: Sweta Kothari \n" "Language-Team: Gujarati\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "વરà«àªšà«àª¯à«àª…લ ખાનગી નેટવરà«àª• '%s' ને દાખલ કરવા માટે તમારે સતà«àª¤àª¾àª§àª¿àª•રણની જરૂર છે." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "સતà«àª¤àª¾àª§àª¿àª•રણ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "પાસવરà«àª¡ (_P):" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "પાસવરà«àª¡ (_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ગૌણ પાસવરà«àª¡ (_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "પાસવરà«àª¡" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH સરà«àªµàª° સાથે સà«àª¸àª‚ગત." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "પાસવરà«àª¡" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "સતà«àª¤àª¾àª§àª¿àª•રણ VPN" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "જરૂરી નથી" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "વપરાશકરà«àª¤àª¾ નામ (_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "પાસવરà«àª¡" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "ડોમેઇન (_D):" #~ msgid "Connect _anonymously" #~ msgstr "અવà«àª¯àª¸à«àª¥àª¿àª¤ રીતે જોડાવો (_a)" #~ msgid "Connect as _user:" #~ msgstr "વપરાશકરà«àª¤àª¾ તરીકે જોડાવો (_u)" #~ msgid "_Remember password for this session" #~ msgstr "આ સતà«àª° માટે પાસવરà«àª¡àª¨à«‡ યાદ રાખો (_R)" #~ msgid "_Save password in keyring" #~ msgstr "કિરીંગ માં પાસવરà«àª¡àª¨à«‡ સંગà«àª°àª¹à«‹ (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "પà«àª°àª®àª¾àª£àªªàª¤à«àª° પાસવરà«àª¡ (_w):" #~ msgid "Certificate password:" #~ msgstr "પà«àª°àª®àª¾àª£àªªàª¤à«àª° પાસવરà«àª¡:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "સતà«àª¤àª¾ પà«àª°àª®àª¾àª£àªªàª¤à«àª°àª¨à«‡ પસંદ કરો..." #~ msgid "Choose your personal certificate..." #~ msgstr "તમારા વà«àª¯àª•à«àª¤àª¿àª—ત પà«àª°àª®àª¾àª£àªªàª¤à«àª°àª¨à«‡ પસંદ કરો..." #~ msgid "Choose your private key..." #~ msgstr "તમારી ખાનગી કીને પસંદ કરો..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH સà«àª¥àª¿àª° કીને પસંદ કરો..." #~ msgid "None" #~ msgstr "કંઇ નહિં" #~| msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM અથવા PKCS#12 પà«àª°àª®àª¾àª£àªªàª¤à«àª°à«‹ (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM પà«àª°àª®àª¾àª£àªªàª¤à«àª°à«‹ (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH સà«àªŸà«‡àªŸà«€àª• કીઓ (*.key)" #~ msgid "Default" #~ msgstr "મૂળભૂત" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~| msgid "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~| msgid "SHA-1" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~| msgid "SHA-1" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~| msgid "SHA-1" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "પà«àª°àª®àª¾àª£àªªàª¤à«àª°à«‹ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "પà«àª°àª®àª¾àª£àªªàª¤à«àª°à«‹ સાથે પાસવરà«àª¡ (TLS)" #~ msgid "Static Key" #~ msgstr "સà«àªŸà«‡àªŸà«€àª• કી" danfruehauf-NetworkManager-ssh-f65d65d/po/he.po000066400000000000000000000226621507335542500215370ustar00rootroot00000000000000# Hebrew translations for PACKAGE package. # Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Dan Fruehauf , 2013. # Yaron Shahrabani , 2021. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2021-10-19 17:10+0300\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? " "2 : 3);\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Generator: Poedit 3.0\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "עליך לעבור ×ימות כדי לגשת לרשת הווירטו×לית הפרטית ‚%s’." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "×ימות VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "ססמה:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" "×œ× × ×™×ª×Ÿ ×œ×ž×¦×•× ×ת המשתנה הסביבתי ‚%s’.\n" "\n" "×”×× ssh-agent פעיל?" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_ססמה:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ססמה מ_שנית:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "×”_צגת ססמ×ות" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" "בחרת ×œ× ×œ×”×©×ª×ž×© במשתמש העל (root) בתור המשתמש המרוחק.\n" "\n" "× × ×œ×•×•×“× ×©×”×ž×©×ª×ž×© שציינת מורשה לפתוח התקני tun/tap במ×רח המרוחק." #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "תו×× ×œ×©×¨×ª ×”Ö¾SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "נשמר" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "לש×ול תמיד" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "סוכן SSH" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ססמה" #: ../properties/nm-ssh.c:646 msgid "Key Authentication" msgstr "×ימות מפתח" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "×œ× × ×“×¨×©" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "×פשרויות SSH מתקדמות" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "להשתמש בפתחה משלך בשער הגישה:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "להשתמש ב־MTU משלך:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "×פשרויות SSH נוספות:" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "מספר ההתקן המרוחק:" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "להשתמש בהתקן TAP" #: ../properties/nm-ssh-dialog.ui.h:9 msgid "Remote username:" msgstr "×©× ×ž×©×ª×ž×© מרוחק:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "×œ× ×œ×”×—×œ×™×£ ×ת ניתוב בררת המחדל" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "כללי" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "כללי" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "שער גישה:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "הגדרות רשת" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "כתובת IP מרוחקת:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "כתובת IP מקומית:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "מסכת רשת:" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "הגדרות רשת IPv6" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "להשתמש ב־IPv6" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "כתובת IP מרוחקת (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "כתובת IP מקומית (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "קידומת (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "מתקד×…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "×ימות" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "סוג:" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "× × ×œ×‘×—×•×¨ שיטת ×ימות." #: ../properties/nm-ssh-dialog.ui.h:28 msgid "Show Passwords" msgstr "הצגת ססמ×ות" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "קובץ מפתח SSH:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "הכתובת ‚%s’ שגויה" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "מ×פיין מספר ×©×œ× â€š%s’ שגוי ×ו מחוץ לטווח [%d â€-> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "מ×פיין בולי×× ×™ שגוי ‚%s’ (×‘×ž×§×•× ×›×Ÿ ×ו ל×)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "מ×פיין בלתי מטופל ‚%s’ סוג %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "המ×פיין ‚%s’ שגוי ×ו ש×ינו נתמך" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "×ין ×פשרויות להגדרת VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "×œ× × ×™×ª×Ÿ ×œ×ž×¦×•× ×ת הקובץ הבינרי של ×”Ö¾ssh." #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "×œ× × ×™×ª×Ÿ ×œ×ž×¦×•× ×ת הקובץ הבינרי של sshpass." #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "×œ× ×¦×•×™× ×” ססמה." #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "נבחר ×ימות ×¢× ×ž×¤×ª×—, ×ך ×œ× ×¦×•×™×Ÿ מפתח." #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "SSH_AUTH_SOCK נחוץ ×ך חסר." #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "סוג ×”×ימות ×œ× ×™×“×•×¢: %s." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "× × ×œ×”×’×“×™×¨ כתובת מרוחקת." #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "מספר הפתחה שגוי ‚%s’." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "גודל MTU†‚%s’ ל־TUN שגוי." #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "מספר התקן TUN/TAP â€â€š%s’ שגוי." #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "כתובת ×”Ö¾IP המרוחקת נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "כתובת ×”Ö¾IP המקומית נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "מסכת הרשת נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "כתובת ×”Ö¾IPv6 המרוחקת נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "כתובת ×”Ö¾IPv6 המקומית נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "מסכת הרשת ב־IPv6 נחוצה ×ך חסרה." #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "×œ× × ×™×ª×Ÿ לעבד ×ת הבקשה כיוון שהגדרות חיבור ×”Ö¾VPN שגויות." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "×œ× ×œ×¦×ת ×›×שר חיבור ×”Ö¾VPN נקטע" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "הפעלת יומן ניפוי שגי×ות מורחב (עלול לחשוף ססמ×ות)" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-ssh-service מספק יכולות SSH מובנות ל־NetworkManager." danfruehauf-NetworkManager-ssh-f65d65d/po/hu.po000066400000000000000000000336161507335542500215600ustar00rootroot00000000000000# Hungarian translation of network-manager-ssh. # Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 The Free Software Foundation, Inc. # This file is distributed under the same license as the network-manager-ssh package. # # Gabor Halaszvari , 2006. # Gabor Kelemen , 2006, 2007, 2008, 2009, 2010, 2011. # Mate Ory , 2011. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-04-03 11:23+0200\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: VIM - Vi IMproved 7.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Azonosítania kell magát a(z) „%s†virtuális magánhálózat eléréséhez." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN azonosítás" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Jelszó:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Jelszó:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Jelszó _még egyszer:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Jelszó megjelenítése" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibilis az SSH kiszolgálóval." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Jelszó" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS hitelesítés" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Nem szükséges" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH speciális beállításai" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Egyéni átjáró_port használata:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Egyéni _maximális átviteli egység (MTU) használata az alagúthoz:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TA_P eszköz használata" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Proxy felhasználói név:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Ãltalános" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Ãltalános" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Ã_tjáró:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Távoli IP-cím:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Helyi IP-cím:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Távoli IP-cím:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Helyi IP-cím:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "S_peciális…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Hitelesítés" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Típus:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS hitelesítés" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Jelszavak megjelenítése" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Kulcsfájl:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "érvénytelen cím: „%sâ€" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" "érvénytelen, vagy a(z) %2$d…%3$d tartományon kívüli egész érték: „%1$sâ€" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "érvénytelen logikai érték: „%s†(érvényes értékek: yes, no)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "kezeletlen %2$s típusú érték: „%1$sâ€" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "érvénytelen vagy nem támogatott érték: „%sâ€" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Nincsenek VPN-beállítások." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Nem található az ssh program." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Nem található az ssh program." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Jelszavak megjelenítése" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Ismeretlen kapcsolattípus: „%sâ€." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Érvénytelen portszám: „%sâ€." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Érvénytelen TUN MTU érték: „%sâ€." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Érvénytelen portszám: „%sâ€." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Hiányzó távoli IP-cím a statikus kulcsos módhoz." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Hiányzó helyi IP-cím a statikus kulcsos módhoz." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Hiányzó távoli IP-cím a statikus kulcsos módhoz." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Hiányzó helyi IP-cím a statikus kulcsos módhoz." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "A kérés feldolgozása sikertelen, mivel a VPN-kapcsolat beállításai " "érvénytelenek." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Ne lépjen ki, ha a VPN kapcsolat megszakad" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" "Részletes hibakeresési naplózás engedélyezése (jelszavak is a naplóba " "kerülhetnek)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "Az nm-vpnc-service integrált SSH-támogatást nyújt a HálózatkezelÅ‘höz." #~ msgid "_Username:" #~ msgstr "_Felhasználói név:" #~ msgid "_Domain:" #~ msgstr "_Tartomány:" #~ msgid "Connect _anonymously" #~ msgstr "Csatlakozás _névtelenül" #~ msgid "Connect as _user:" #~ msgstr "Csatlakozás _mint:" #~ msgid "_Remember password for this session" #~ msgstr "Je_lszó megjegyzése a munkamenetre" #~ msgid "_Save password in keyring" #~ msgstr "Jelszó mentése a _kulcstartóra" #~ msgid "Certificate pass_word:" #~ msgstr "Tanúsítvány _jelszava:" #~ msgid "Certificate password:" #~ msgstr "Tanúsítvány jelszava:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Válasszon hitelesítésszolgáltatói tanúsítványt…" #~ msgid "Choose your personal certificate..." #~ msgstr "Válassza ki a személyes tanúsítványát…" #~ msgid "Choose your private key..." #~ msgstr "Válassza ki a személyes kulcsát…" #~ msgid "Choose an SSH static key..." #~ msgstr "Válassza ki az SSH statikus kulcsát…" #~ msgid "None" #~ msgstr "Nincs" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM vagy PKCS#12 tanúsítványok (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM tanúsítványok (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH statikus kulcsok (*.key)" #~ msgid "Default" #~ msgstr "Alapértelmezett" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Tanúsítványok (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Jelszó tanúsítványokkal (TLS)" #~ msgid "Static Key" #~ msgstr "Statikus kulcs" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Csak olyan kiszolgálókhoz kapcsolódjon, amelyek tanúsítványa megfelel " #~ "a megadott alanynak.\n" #~ "Például: /CN=myvpn.cég.hu" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "A kulcsirány használatakor a VPN partneren használttal ellentétesnek " #~ "kell lennie. Ha például a partner 1-et használ, akkor a kapcsolatnak 0-t " #~ "kell. Ha nem biztos benne, hogy melyik értéket kell használnia, keresse " #~ "meg a rendszergazdát." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Válassza ezt a lehetÅ‘séget, ha a szervezet proxy kiszolgáló " #~ "használatát követeli meg az internet eléréséhez." #~ msgid "CA Certificate:" #~ msgstr "CA tanúsítvány:" #~ msgid "Cipher:" #~ msgstr "Rejtjelzés:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC hitelesítés:" #~ msgid "Key Direction:" #~ msgstr "Kulcsirány:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Személyes kulcs jelszava:" #~ msgid "Private Key:" #~ msgstr "Személyes kulcs:" #~ msgid "Proxies" #~ msgstr "Proxyk" #~ msgid "Proxy Password:" #~ msgstr "Proxy jelszó:" #~ msgid "Proxy Type:" #~ msgstr "Proxy típus:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "TCP alagút maximális szegmensméretének (MSS) korlátozása" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Hiba esetén végtelen számú újrapróbálkozás" #~ msgid "Security" #~ msgstr "Biztonság" #~ msgid "Server Address:" #~ msgstr "Kiszolgáló címe:" #~ msgid "Static Key:" #~ msgstr "Statikus kulcs:" #~ msgid "Subject Match:" #~ msgstr "Alany egyezik:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO tömörítés használata" #~ msgid "Use a _TCP connection" #~ msgstr "T_CP kapcsolat használata" #~ msgid "Use additional TLS authentication" #~ msgstr "KiegészítÅ‘ TLS hitelesítés használata" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Egyéni _UDP-darab méret használata:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "_Egyéni újratárgyalási idÅ‘köz használata:" #~ msgid "User Certificate:" #~ msgstr "Felhasználói tanúsítvány:" #~ msgid "User name:" #~ msgstr "Felhasználónév:" #~ msgid "No VPN secrets!" #~ msgstr "Nincs VPN-titok!" #~ msgid "Invalid HMAC auth." #~ msgstr "Érvénytelen HMAC azonosítás." #~ msgid "Invalid connection type." #~ msgstr "Érvénytelen kapcsolattípus." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Érvénytelen proxytípus: „%sâ€." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Érvénytelen reneg seconds érték: „%sâ€." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Érvénytelen töredékméret: „%sâ€." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "A kérés feldolgozása sikertelen, mivel nem adott meg felhasználónevet." danfruehauf-NetworkManager-ssh-f65d65d/po/id.po000066400000000000000000000320461507335542500215340ustar00rootroot00000000000000# Indonesian translation of network-manager-ssh # # Copyright (C) 2009 THE network-manager-ssh'S COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # Andika Triwidada , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-08-20 15:13+0700\n" "Last-Translator: Andika Triwidada \n" "Language-Team: GNOME Indonesian Translation Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Indonesian\n" "X-Poedit-Country: Indonesia\n" "Plural-Forms: nplurals=1; plural=0;\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Anda perlu mengotentikasi untuk mengakses Virtual Private Network '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Otentikasikan VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Kata Sandi:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "Sa_ndi:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sandi Sekunder:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "T_ampilkan sandi" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibel dengan server SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Disimpan" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Selalu Tanyakan" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Kata Sandi" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Otentikasi TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Tak diperlukan" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opsi Tingkat Lanjut SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Gunakan p_ort gateway gubahan:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Gunakan MTU _tembusan gubahan:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Gunakan perangkat TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nama Pengguna Proksi:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Umum" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Umum" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Alamat IP Jauh:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Alamat IP Lokal:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Alamat IP Jauh:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Alamat IP Lokal:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Tingkat _Lanjut..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Otentikasi" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Jenis:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Otentikasi TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Tampilkan kata sandi" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Berkas Kunci:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "alamat '%s' tak valid" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "properti integer '%s' tak valid atau diluar jangkauan [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "properti bool '%s' tak valid (bukan yes atau no)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "properti '%s' jenis %s tak ditangani" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "properti '%s' tak valid atau tak didukung" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Tak ada opsi konfigurasi VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Tak bisa temukan biner ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Tak bisa temukan biner ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Tampilkan kata sandi" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Tipe sambungan '%s' tak dikenal." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Nomor port '%s' tak valid." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Ukuran MTU TUN '%s' tak valid." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Nomor port '%s' tak valid." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Kehilangan alamat IP jauh yang diperlukan bagi mode kunci statik." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Kehilangan alamat IP lokal yang diperlukan bagi mode kunci statik." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Kehilangan alamat IP jauh yang diperlukan bagi mode kunci statik." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Kehilangan alamat IP lokal yang diperlukan bagi mode kunci statik." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "Tak bisa memroses permintaan karena pengaturan koneksi VPN tak valid." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Jangan keluar ketika koneksi VPN diputus" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Aktifkan log pengawakutuan verbose (mungkin mengungkap sandi)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-vpnc-service menyediakan kapabilitas SSH terintegrasi ke NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "_Kata sandi sertifikat:" #~ msgid "Certificate password:" #~ msgstr "Kata sandi sertifikat:" #~ msgid "Choose your personal certificate..." #~ msgstr "Pilih sertifikat pribadi Anda..." #~ msgid "Choose your private key..." #~ msgstr "Pilih kunci privat Anda..." #~| msgid "Not required" #~ msgid "Not Required" #~ msgstr "Tak Diperlukan" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Pilih sebuah sertifikat Certificate Authority..." #~ msgid "Choose an SSH static key..." #~ msgstr "Pilih kunci statik SSH..." #~ msgid "None" #~ msgstr "Tak ada" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Sertifikat PEM atau PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Sertifikat PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Kunci Statik SSH (*.key)" #~ msgid "Default" #~ msgstr "Baku" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Sertifikat (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Kata Sandi dengan Sertifikat (TLS)" #~ msgid "Static Key" #~ msgstr "Kunci Statik" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Menyambung hanya ke server yang sertifikatnya cocok dengan subjek yang " #~ "diberikan.\n" #~ "Contoh: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Bila arah kunci dipakai, ini mesti lawan dari yang dipakai pada " #~ "pasangan VPN. Sebagai contoh, bila pasangan memakai '1', sambungan ini " #~ "mesti memakai '0'. Bila Anda tak yakin nilai apa yang dipakai, hubungi " #~ "administrator sistem Anda." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Pilih opsi ini bila organisasi Anda memerlukan penggunaan server " #~ "proksi untuk mengakses Internet." #~ msgid "CA Certificate:" #~ msgstr "Sertifikat CA:" #~ msgid "Cipher:" #~ msgstr "Cipher:" #~ msgid "HMAC Authentication:" #~ msgstr "Otentikasi HMAC:" #~ msgid "Key Direction:" #~ msgstr "Arah Kunci:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Kata Sandi Kunci Privat:" #~ msgid "Private Key:" #~ msgstr "Kunci Privat:" #~ msgid "Proxies" #~ msgstr "Proksi" #~ msgid "Proxy Password:" #~ msgstr "Sandi Proksi:" #~ msgid "Proxy Type:" #~ msgstr "Jenis Proksi:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Batasi MSS TCP tembusan" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Coba lagi seterusnya ketika terjadi galat" #~ msgid "Security" #~ msgstr "Keamanan" #~ msgid "Server Address:" #~ msgstr "Alamat Server:" #~| msgid "Show passwords" #~ msgid "Show password" #~ msgstr "Tampilkan sandi" #~ msgid "Static Key:" #~ msgstr "Kunci Statik:" #~ msgid "Subject Match:" #~ msgstr "Cocok Subjek:" #~ msgid "Use L_ZO data compression" #~ msgstr "Gunakan pemampatan data L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Gunakan koneksi _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Gunakan otentikasi TLS tambahan" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Gunakan ukuran _fragmen UDP gubahan:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Gunakan interval _renegosiasi gubahan:" #~ msgid "User Certificate:" #~ msgstr "Sertifikat Pengguna:" #~ msgid "User name:" #~ msgstr "Nama pengguna:" #~ msgid "No VPN secrets!" #~ msgstr "Tak ada rahasia VPN!" #~ msgid "Invalid HMAC auth." #~ msgstr "Otentikasi HMAC tak valid." #~ msgid "Invalid connection type." #~ msgstr "Tipe sambungan tak valid." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Tipe proksi '%s' tak valid." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Reneg detik '%s' tak valid." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Ukuran fragmen '%s' tak valid." #~ msgid "Could not process the request because no username was provided." #~ msgstr "Tak bisa memroses permintaan karena tak diberikan nama pengguna." danfruehauf-NetworkManager-ssh-f65d65d/po/it.po000066400000000000000000000300171507335542500215500ustar00rootroot00000000000000# Italian translation of NetworkManager-SSH. # Copyright (C) 2006, 2007, 2008, 2009, 2010 the NetworkManager-SSH'S COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-SSH package. # Francesco Marletta , 2006, 2007, 2008, 2009, 2010. # Luca Ferretti , 2010. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-SSH 0.8.x\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-09-20 16:02+0200\n" "Last-Translator: Francesco Marletta \n" "Language-Team: Italian \n" "Language: it\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "È necessario autenticarsi per accedere alla VPN (rete privata virtuale) «%s»." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autenticazione VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Password:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "Pass_word:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Password _secondaria:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Mostra password" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatibile con il server SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Password" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticazione TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Non richiesto" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opzioni SSH avanzate" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Usare una p_orta gateway personalizzata:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "Usare una Maximum Transmission Unit (MTU) personalizzata per il _tunnel:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Usare un device TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nome utente proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Generale" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Generale" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Indirizzo IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Indirizzo IP locale:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Indirizzo IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Indirizzo IP locale:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" # NdT: sono le preferenze avanzate #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vanzate..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticazione" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipo:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticazione TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostra password" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "File chiave:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostra password" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "Nome _utente:" #~ msgid "_Domain:" #~ msgstr "_Dominio:" #~ msgid "Connect _anonymously" #~ msgstr "Connessione _anonima" #~ msgid "Connect as _user:" #~ msgstr "Connessione come _utente:" #~ msgid "_Remember password for this session" #~ msgstr "_Ricorda la password per questa sessione" #~ msgid "_Save password in keyring" #~ msgstr "_Salva la password nel portachiavi" #~ msgid "Certificate pass_word:" #~ msgstr "Pass_word del certificato:" #~ msgid "Certificate password:" #~ msgstr "Password del certificato:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Scegliere un certificato di un'Autorità di Certificazione..." #~ msgid "Choose your personal certificate..." #~ msgstr "Scegliere il certificato personale..." #~ msgid "Choose your private key..." #~ msgstr "Scegliere la propria chiave privata..." #~ msgid "Choose an SSH static key..." #~ msgstr "Scegliere una chiave statica SSH..." #~ msgid "None" #~ msgstr "Nessuno" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificati PEM o PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificati PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Chiavi statiche SSH (*.key)" #~ msgid "Default" #~ msgstr "Predefinito" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificati (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Password con Certificati (TLS)" #~ msgid "Static Key" #~ msgstr "Chiave statica" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Connette solo ai server il cui certificato corrisponde all'oggetto " #~ "indicato.\n" #~ "Esempio: /CN=miavpn.compagnia.it" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Se usata, la direzione della chiave deve essere opposta a quella del " #~ "peer della VPN. Per esempio, se il peer usa \"1\", questa connessione " #~ "deve usare \"0\". Se si è incerti sul valore da usare, contattare " #~ "l'amministratore di sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Selezionare questa opzione se la propria organizzazione richiede l'uso " #~ "di un server proxy per accedere a Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificato CA:" #~ msgid "Cipher:" #~ msgstr "Cifrario:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticazione HMAC:" #~ msgid "Key Direction:" #~ msgstr "Direzione della chiave:" #~ msgid "Port:" #~ msgstr "Porta:" #~ msgid "Private Key Password:" #~ msgstr "Password della chiave privata:" #~ msgid "Private Key:" #~ msgstr "Chiave privata:" #~ msgid "Proxies" #~ msgstr "Proxy" #~ msgid "Proxy Password:" #~ msgstr "Password del proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tipo proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Limitare il Maximum Segment Size (MSS) TCP del tunnel" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Riprovare indefinitamente quando si verificano errori" #~ msgid "Security" #~ msgstr "Sicurezza" #~ msgid "Server Address:" #~ msgstr "Indirizzo server:" #~ msgid "Static Key:" #~ msgstr "Chiave statica:" #~ msgid "Subject Match:" #~ msgstr "Corrispondenza per oggetto:" #~ msgid "Use L_ZO data compression" #~ msgstr "Usare la compressione L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Usare una connessione _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Usare autenticazione TLS aggiuntiva" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Usare una dimensione di _frammento UDP personalizzata:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Usare un intervallo di _rinegoziazione personalizzato:" #~ msgid "User Certificate:" #~ msgstr "Certificato utente:" #~ msgid "User name:" #~ msgstr "Nome utente:" danfruehauf-NetworkManager-ssh-f65d65d/po/ja.po000066400000000000000000000353201507335542500215300ustar00rootroot00000000000000# Japanese message catalog for NetworkManager-ssh # Copyright (C) 2006 THE NetworkManager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-ssh package. # Satoru SATOH , 2006, 2007. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2007-07-23 00:56+0900\n" "Last-Translator: Satoru SATOH \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "仮想プライベートãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ '%s' ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯èªè¨¼ãŒå¿…è¦ã§ã™ã€‚" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN èªè¨¼" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "パスワード(_P):" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "パスワード(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "第二パスワード(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "パスワード" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "SSH クライアント" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "パスワード" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "VPN èªè¨¼" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Options ã®è©³ç´°ã‚ªãƒ—ション" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "ゲートウェイãƒãƒ¼ãƒˆ (_G):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TAP デãƒã‚¤ã‚¹ã‚’使用 (_P)" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ユーザå:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "ゲートウェイãƒãƒ¼ãƒˆ (_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "リモート IP (_R):" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "ローカル IP: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "詳細(_V)" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "必須情報" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "パスワード" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "VPN ログインã«å¤±æ•—。VPN 設定オプションãŒé–“é•ã£ã¦ã„ã¾ã™ã€‚" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ユーザå(_U):" #~ msgid "_Domain:" #~ msgstr "ドメイン(_D):" #~ msgid "Connect _anonymously" #~ msgstr "匿åã§æŽ¥ç¶š(_A)" #~ msgid "Connect as _user:" #~ msgstr "ãƒ¦ãƒ¼ã‚¶ã§æŽ¥ç¶š(_U):" #~ msgid "_Remember password for this session" #~ msgstr "ã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ãƒ‘スワードを記憶ã™ã‚‹(_R)" #~ msgid "_Save password in keyring" #~ msgstr "パスワードをキーリングã«ä¿å­˜ã™ã‚‹(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "証明パスワード(_W):" #~ msgid "Certificate password:" #~ msgstr "証明パスワード:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "VPN 接続を追加ã€å‰Šé™¤ã¾ãŸã¯ç·¨é›†" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN 接続マãƒãƒ¼ã‚¸ãƒ£ (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "次㮠SSH 接続を作æˆã—ã¾ã™:" #~ msgid "Name: %s" #~ msgstr "åå‰: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "接続タイプ: X.509 証明" #~ msgid "CA: %s" #~ msgstr "èªè¨¼å±€: %s" #~ msgid "Cert: %s" #~ msgstr "証明: %s" #~ msgid "Key: %s" #~ msgstr "éµ: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "接続タイプ: 共有éµ" #~ msgid "Shared Key: %s" #~ msgstr "共有éµ: %s" #~ msgid "Remote IP: %s" #~ msgstr "リモート IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "接続タイプ: パスワード" #~ msgid "Username: %s" #~ msgstr "ユーザå: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "接続タイプ: X.509 + パスワードèªè¨¼" #~ msgid "Remote: %s" #~ msgstr "リモート: %s" #~ msgid "Port: %s" #~ msgstr "ãƒãƒ¼ãƒˆ: %s" #~ msgid "Device: %s" #~ msgstr "デãƒã‚¤ã‚¹: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "プロトコル: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "ルート: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "LZO 圧縮ã®ä½¿ç”¨: %s" #~ msgid "Yes" #~ msgstr "ã¯ã„" #~ msgid "No" #~ msgstr "ã„ã„ãˆ" #~ msgid "Cipher: %s" #~ msgstr "æš—å·: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS èªè¨¼: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "接続ã®è©³ç´°ã¯\"編集\"ボタンã§å¤‰æ›´ã§ãã¾ã™ã€‚" #~ msgid "Cannot import settings" #~ msgstr "設定をインãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN 設定ファイル '%s' ã«ã¯é©åˆ‡ãªãƒ‡ãƒ¼ã‚¿ãŒå«ã¾ã‚Œã¦ã„ã¾ã›ã‚“。" #~ msgid "Select file to import" #~ msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž" #~ msgid "Select CA to use" #~ msgstr "利用ã™ã‚‹èªè¨¼å±€ã‚’é¸æŠž" #~ msgid "Select certificate to use" #~ msgstr "利用ã™ã‚‹è¨¼æ˜Žã‚’é¸æŠž" #~ msgid "Select key to use" #~ msgstr "利用ã™ã‚‹éµã‚’é¸æŠž" #~ msgid "Select shared key to use" #~ msgstr "利用ã™ã‚‹å…±æœ‰éµã‚’é¸æŠž" #~ msgid "Select TA to use" #~ msgstr "利用ã™ã‚‹ TA ã‚’é¸æŠž" #~ msgid "Save as..." #~ msgstr "別åã§ä¿å­˜..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "ファイル \"%s\" ã¯æ—¢ã«ã‚りã¾ã™ã€‚" #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "ä¿å­˜ã—よã†ã¨ã—ã¦ã„るファイルã§ä¸Šæ›¸ãã—ã¾ã™ã‹?" #~ msgid "Failed to export configuration" #~ msgstr "設定ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã«å¤±æ•—" #~ msgid "Failed to save file %s" #~ msgstr "ファイル %s ã®ä¿å­˜ã«å¤±æ•—" #~ msgid "(Default: 1194)" #~ msgstr "(デフォルト: 1194)" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "例: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "èªè¨¼å±€ãƒ•ァイル(_A):" #~ msgid "C_ertificate:" #~ msgstr "証明書(_E):" #~ msgid "Co_nnection type:" #~ msgstr "接続タイプ(_N):" #~ msgid "Connection na_me:" #~ msgstr "接続å(_M):" #~ msgid "Direction:" #~ msgstr "æ–¹å‘:" #~ msgid "Import _Saved Configuration..." #~ msgstr "ä¿å­˜ã—ãŸè¨­å®šã‚’インãƒãƒ¼ãƒˆ(_S)..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "プライベートãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®æŽ¥ç¶šã‚’識別ã™ã‚‹åå‰ã€‚例ãˆã°\"キャンパス VPN\" " #~ "ã‚„ \"社内ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯\" ãªã©ã€‚" #~ msgid "Network" #~ msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "ã“れらã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«ã¤ã„ã¦ã®ã¿ VPN 接続を利用(_V)" #~ msgid "SSH Configuration" #~ msgstr "SSH 設定" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "システム管ç†è€…ãŒæä¾›ã—ãŸæƒ…報を下ã«å…¥åŠ›ã—ã¦ãã ã•ã„。接続時ã«ãã‹ã‚Œã‚‹ã¾ã§ã¯" #~ "パスワードã¯å…¥åŠ›ã—ãªã„ã§ãã ã•ã„。" #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "インãƒãƒ¼ãƒˆã—ãŸãƒ•ァイル㯠SSH ã®è¨­å®šãƒ•ァイルã§ã¯ã‚りã¾ã›ã‚“。システム管ç†è€…" #~ "ã«ãƒ•ァイルã«ã¤ã„ã¦å°‹ã­ã¦ãã ã•ã„。" #~ msgid "Shared _key:" #~ msgstr "共有éµ(_K):" #~ msgid "TLS-Auth" #~ msgstr "TLS èªè¨¼" #~ msgid "Use L_ZO compression" #~ msgstr "LZO 圧縮を使用(_Z)" #~ msgid "Use _TCP connection" #~ msgstr "TCP 接続を使用 (_T)" #~ msgid "Use _TLS auth:" #~ msgstr "TLS èªè¨¼ã‚’使用 (_T):" #~ msgid "Use cip_her:" #~ msgstr "æš—å·ã‚’使用 (_H):" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 証明\n" #~ "事å‰å…±æœ‰éµ\n" #~ "パスワードèªè¨¼\n" #~ "X.509 + パスワードèªè¨¼" #~ msgid "_0" #~ msgstr "0(_0)" #~ msgid "_1" #~ msgstr "1(_1)" #~ msgid "_Gateway address:" #~ msgstr "ゲートウェイアドレス (_G):" #~ msgid "_Key:" #~ msgstr "éµ(_K):" #~ msgid "_Local IP:" #~ msgstr "ローカル IP (_L):" #~ msgid "_User name:" #~ msgstr "ユーザå (_U):" #~ msgid "_none" #~ msgstr "ãªã— (_N)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "VPN ログインã«å¤±æ•—。ユーザåã€ãƒ‘スワードã‚ã‚‹ã„ã¯è¨¼æ˜Žãƒ‘スワードãŒé–“é•ã£ã¦ã„" #~ "ã¾ã™ã€‚" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "VPN ログインã«å¤±æ•—。VPN プログラムを起動ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "VPN ログインã«å¤±æ•—。VPN プログラム㯠VPN サーãƒã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "VPN ログインã«å¤±æ•—。VPN プログラム㌠VPN サーãƒã‹ã‚‰å—ã‘å–ã£ãŸè¨­å®šã¯é©åˆ‡ãª" #~ "ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。" #~ msgid "VPN connection failed" #~ msgstr "VPN 接続ã«å¤±æ•—" #~ msgid "Connection Name" #~ msgstr "接続å" #~ msgid "Optional Information" #~ msgstr "オプション情報" #~ msgid "Shared Key:" #~ msgstr "共有éµ:" #~ msgid "X.509" #~ msgstr "X.509" danfruehauf-NetworkManager-ssh-f65d65d/po/ka.po000066400000000000000000000246261507335542500215400ustar00rootroot00000000000000# Georgian translations for NetworkManager-ssh package. # Copyright (C) 2022 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-ssh package. # Temuri Doghonadze . 2022 # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2022-07-23 23:07+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian <(nothing)>\n" "Language: ka\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-Generator: Poedit 3.1.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "პირáƒáƒ“ ვირტუáƒáƒšáƒ£áƒ  ქსელში (%s) წვდáƒáƒ›áƒ˜áƒ¡ მისáƒáƒ¦áƒ”ბáƒáƒ“ სáƒáƒ­áƒ˜áƒ áƒáƒ áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN-ის áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "პáƒáƒ áƒáƒšáƒ˜:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" "გáƒáƒ áƒ”მáƒáƒ¡ ცვლáƒáƒ“ის (%s) პáƒáƒ•ნრშეუძლებელიáƒ.\n" "\n" "áƒáƒ áƒ˜áƒ¡ ssh-agent-ი გáƒáƒ¨áƒ•ებული?" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_პáƒáƒ áƒáƒšáƒ˜:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_მეáƒáƒ áƒáƒ“ი პáƒáƒ áƒáƒšáƒ˜:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "_პáƒáƒ áƒáƒšáƒ”ბის ჩვენებáƒ" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH სერვერთáƒáƒœ თáƒáƒ•სებáƒáƒ“იáƒ." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "შენáƒáƒ®áƒ£áƒšáƒ˜áƒ" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "ყáƒáƒ•ელთვის კითხვáƒ" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "SSH áƒáƒ’ენტი" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "პáƒáƒ áƒáƒšáƒ˜" #: ../properties/nm-ssh.c:646 msgid "Key Authentication" msgstr "გáƒáƒ¡áƒáƒ¦áƒ”ბით áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი áƒáƒ áƒáƒ" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH-ის დáƒáƒ›áƒáƒ¢áƒ”ბითი პáƒáƒ áƒáƒ›áƒ”ტრები" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "გáƒáƒ›áƒáƒ•áƒáƒšáƒ˜ რáƒáƒ£áƒ¢áƒ”რის პáƒáƒ áƒ¢áƒ˜áƒ¡ ხელით მითითებáƒ:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "ტუნელის MTU-ის ხელით მითითებáƒ:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "SSH-ის დáƒáƒ›áƒáƒ¢áƒ”ბითი პáƒáƒ áƒáƒ›áƒ”ტრები:" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "დáƒáƒ¨áƒáƒ áƒ”ბული მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘ის ნáƒáƒ›áƒ”რი:" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "TAP მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘ის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ" #: ../properties/nm-ssh-dialog.ui.h:9 msgid "Remote username:" msgstr "დáƒáƒ¨áƒáƒ áƒ”ბული მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის სáƒáƒ®áƒ”ლი:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "ნáƒáƒ’ულისხმები რáƒáƒ£áƒ¢áƒ˜áƒ¡ áƒáƒ  შეცვლáƒ" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "ზáƒáƒ’áƒáƒ“ი" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "სáƒáƒ”რთáƒ" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "ნáƒáƒ’ულისხმები რáƒáƒ£áƒ¢áƒ”რი:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "ქსელის მáƒáƒ áƒ’ებáƒ" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "დáƒáƒ¨áƒáƒ áƒ”ბული IP მისáƒáƒ›áƒáƒ áƒ—ი:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "ლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ IP მისáƒáƒ›áƒáƒ áƒ—ი:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "ქსელური ნიღáƒáƒ‘ი:" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "IPv6 ქსელის მáƒáƒ áƒ’ებáƒ" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "IPv6-ის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "დáƒáƒ¨áƒáƒ áƒ”ბული IP მისáƒáƒ›áƒáƒ áƒ—ი(IPv6):" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "ლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ IP მისáƒáƒ›áƒáƒ áƒ—ი (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "პრეფიქსი (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბით..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "ტიპი:" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ˜áƒ¡ რეჟიმი." #: ../properties/nm-ssh-dialog.ui.h:28 msgid "Show Passwords" msgstr "პáƒáƒ áƒáƒšáƒ”ბის ჩვენებáƒ" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "SSH-ის გáƒáƒ¡áƒáƒ¦áƒ”ბის ფáƒáƒ˜áƒšáƒ˜:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მისáƒáƒ›áƒáƒ áƒ—ი: %s" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "VPN-ის მáƒáƒ áƒ’ების გáƒáƒ áƒ”შე." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "/usr/bin/ssh გáƒáƒ›áƒ¨áƒ•ები ფáƒáƒ˜áƒšáƒ˜ ვერ ვიპáƒáƒ•ე." #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "\"sshpass\"-ის გáƒáƒ›áƒ¨áƒ•ები ფáƒáƒ˜áƒšáƒ˜ ვერ ვიპáƒáƒ•ე." #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "პáƒáƒ áƒáƒšáƒ˜ მითითებული áƒáƒ áƒáƒ." #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "áƒáƒ áƒ©áƒ”ულირგáƒáƒ¡áƒáƒ¦áƒ”ბით áƒáƒ•თენტიკáƒáƒªáƒ˜áƒ, მáƒáƒ’რáƒáƒ› გáƒáƒ¡áƒáƒ¦áƒ”ბი მითითებული áƒáƒ áƒáƒ." #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "áƒáƒ™áƒšáƒ˜áƒ SSH_AUTH_SOCK. ის áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელიáƒ." #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "áƒáƒ•ტáƒáƒ™áƒáƒœáƒ¡áƒáƒšáƒ˜áƒ¡ უცნáƒáƒ‘ი ტიპი '%s'." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "მიუთითეთ დáƒáƒ¨áƒáƒ áƒ”ბული მისáƒáƒ›áƒáƒ áƒ—ი." #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "პáƒáƒ áƒ¢áƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ნáƒáƒ›áƒ”რი: \"%s\"." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "TUN MTU -ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ზáƒáƒ›áƒ: '%s'." #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი დáƒáƒ¨áƒáƒ áƒ”ბული IP მისáƒáƒ›áƒáƒ áƒ—ი." #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი ლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ IP მისáƒáƒ›áƒáƒ áƒ—ი." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი ქსელის ნიღáƒáƒ‘ი." #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი IPv6 დáƒáƒ¨áƒáƒ áƒ”ბული IP მისáƒáƒ›áƒáƒ áƒ—ი." #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი IPv6 ლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ IP მისáƒáƒ›áƒáƒ áƒ—ი." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "áƒáƒ™áƒšáƒ˜áƒ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელი IPv6 ქსელის ნიღáƒáƒ‘ი." #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" danfruehauf-NetworkManager-ssh-f65d65d/po/kn.po000066400000000000000000000306551507335542500215540ustar00rootroot00000000000000# translation of network-manager-ssh.master.kn.po to Kannada # Kannada translation of network-manager-ssh. # Copyright (C) 2009 network-manager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # # Shankar Prasad , 2009. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh.master.kn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-10-30 12:23+0530\n" "Last-Translator: Shankar Prasad \n" "Language-Team: Kannada \n" "Language: kn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "ನೀವೠವರà³à²šà³à²µà²²à³ ಪà³à²°à³ˆà²µà³‡à²Ÿà³ ನೆಟà³â€Œà²µà²°à³à²•à³ '%s' ಅನà³à²¨à³ ನಿಲà³à²•ಿಸಿಕೊಳà³à²³à²²à³ ದೃಢೀಕರಿಸಬೇಕಾಗà³à²¤à³à²¤à²¦à³†." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN ಅನà³à²¨à³ ದೃಢೀಕರಿಸಿ" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "ಗà³à²ªà³à²¤à²ªà²¦:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "ಗà³à²ªà³à²¤à²ªà²¦(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ಸೆಕೆಂಡರಿ ಗà³à²ªà³à²¤à²ªà²¦(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "ಗà³à²ªà³à²¤à²ªà²¦à²—ಳನà³à²¨à³ ತೋರಿಸà³" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH ಪರಿಚಾರಕದೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗà³à²¤à³à²¤à²¦à³†." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ಗà³à²ªà³à²¤à²ªà²¦" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS ದೃಢೀಕರಣ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH ಸà³à²§à²¾à²°à²¿à²¤ ಆಯà³à²•ೆಗಳà³" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "ಇಚà³à²›à³†à²¯ ಗೇಟà³â€Œà²µà³† ಸಂಪರà³à²•ಸà³à²¥à²¾à²¨à²µà²¨à³à²¨à³ ಬಳಸà³(_o):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ಒಂದೠTA_P ಸಾಧನವನà³à²¨à³ ಬಳಸà³" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ಬಳಕೆದಾರಹೆಸರà³(_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "ಸಾಮಾನà³à²¯" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "ಸಾಮಾನà³à²¯" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "ಗೇಟà³â€Œà²µà³‡(_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "ದೂರಸà³à²¥ IP ವಿಳಾಸ:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "ಸà³à²¥à²³à³€à²¯ IP ವಿಳಾಸ:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "ದೂರಸà³à²¥ IP ವಿಳಾಸ:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "ಸà³à²¥à²³à³€à²¯ IP ವಿಳಾಸ:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "ಸà³à²§à²¾à²°à²¿à²¤(_v)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "ದೃಢೀಕರಣ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "ಬಗೆ:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS ದೃಢೀಕರಣ" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "ಗà³à²ªà³à²¤à²ªà²¦à²—ಳನà³à²¨à³ ತೋರಿಸà³" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "ಕೀಲಿ ಕಡತ:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "ಗà³à²ªà³à²¤à²ªà²¦à²—ಳನà³à²¨à³ ತೋರಿಸà³" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "ಡೊಮೈನà³(_D):" #~ msgid "Connect _anonymously" #~ msgstr "ಅನಾಮಧೇಯವಾಗಿ ಸಂಪರà³à²•ಹೊಂದà³(_a)" #~ msgid "Connect as _user:" #~ msgstr "ಈ ಬಳಕೆದಾರರಾಗಿ ಸಂಪರà³à²•ಹೊಂದà³(_u):" #~ msgid "_Remember password for this session" #~ msgstr "ಈ ಅಧಿವೇಶನಕà³à²•ಾಗಿ ಗà³à²ªà³à²¤à²ªà²¦à²µà²¨à³à²¨à³ ನೆನಪಿಟà³à²Ÿà³à²•ೊ(_R)" #~ msgid "_Save password in keyring" #~ msgstr "ಗà³à²ªà³à²¤à²ªà²¦à²µà²¨à³à²¨à³ ಕೀಲಿಸà³à²°à³à²³à²¿à²¯à²²à³à²²à²¿ ಉಳಿಸà³(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²¦ ಗà³à²ªà³à²¤à²ªà²¦(_w):" #~ msgid "Certificate password:" #~ msgstr "ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²¦ ಗà³à²ªà³à²¤à²ªà²¦:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²° ಅಥಾರಿಟಿಯ ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²µà²¨à³à²¨à³ ಆಯà³à²•ೆ ಮಾಡಿ..." #~ msgid "Choose your personal certificate..." #~ msgstr "ನಿಮà³à²® ವಯಕà³à²¤à²¿à²• ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²µà²¨à³à²¨à³ ಆಯà³à²•ೆ ಮಾಡಿ..." #~ msgid "Choose your private key..." #~ msgstr "ನಿಮà³à²® ಖಾಸಗಿ ಕೀಲಿಯನà³à²¨à³ ಆರಿಸಿ..." #~ msgid "Choose an SSH static key..." #~ msgstr "ಒಂದೠSSH ಸà³à²¥à²¿à²° ಕೀಲಿಯನà³à²¨à³ ಆಯà³à²•ೆ ಮಾಡಿ..." #~ msgid "None" #~ msgstr "ಯಾವà³à²¦à³‚ ಇಲà³à²²" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²—ಳೠ(*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH ಸà³à²¥à²¿à²° ಕೀಲಿಗಳೠ(*.key)" #~ msgid "Default" #~ msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³‹à²œà²¿à²¤" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²—ಳೠ(TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°à²—ಳೊಂದಿಗಿನ ಗà³à²ªà³à²¤à²ªà²¦ (TLS)" #~ msgid "Static Key" #~ msgstr "ಸà³à²¥à²¿à²° ಕೀಲಿ" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "ಕೀಲಿ ದಿಕà³à²•ನà³à²¨à³ ಬಳಸಿದಲà³à²²à²¿, ಅದೠVPN ಪೀರà³â€Œ ನಲà³à²²à²¿ ಬಳಸಲಾಗಿದà³à²¦à²•à³à²•ೆ " #~ "ವಿರà³à²¦à³à²§à²µà²¾à²—ಿರಬೇಕà³. ಉದಾಹರಣೆಗೆ, ಪೀರೠ'1' ಅನà³à²¨à³ ಬಳಸಿದಲà³à²²à²¿, ಈ ಸಂಪರà³à²•ವೠ'0' ಅನà³à²¨à³ " #~ "ಬಳಸಬೇಕà³. ಯಾವà³à²¦à²¨à³à²¨à³ ಬಳಸಬೇಕೠಎಂದೠನಿಮಗೆ ಖಚಿತವಾಗಿ ಗೊತà³à²¤à²¿à²°à²¦à³† ಇದà³à²¦à²²à³à²²à²¿ ನಿಮà³à²® ಗಣಕ " #~ "ವà³à²¯à²µà²¸à³à²¥à²¾à²ªà²•ರನà³à²¨à³ ಸಂಪರà³à²•ಿಸಿ." #~ msgid "CA Certificate:" #~ msgstr "CA ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°:" #~ msgid "Cipher:" #~ msgstr "ಸಿಫರà³:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC ದೃಢೀಕರಣ:" #~ msgid "Key Direction:" #~ msgstr "ಕೀಲಿ ದಿಕà³à²•à³:" #~ msgid "Private Key Password:" #~ msgstr "ಖಾಸಗಿ ಕೀಲಿ ಗà³à²ªà³à²¤à²ªà²¦:" #~ msgid "Private Key:" #~ msgstr "ಖಾಸಗಿ ಕೀಲಿ:" #~ msgid "Security" #~ msgstr "ಸà³à²°à²•à³à²·à²¤à³†" #~ msgid "Static Key:" #~ msgstr "ಸà³à²¥à²¿à²° ಕೀಲಿ:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO ದತà³à²¤à²¾à²‚ಶ ಸಂಕà³à²šà²¨à²µà²¨à³à²¨à³ ಬಳಸà³" #~ msgid "Use a _TCP connection" #~ msgstr "ಒಂದೠ_TCP ಸಂಪರà³à²•ವನà³à²¨à³ ಬಳಸà³" #~ msgid "Use additional TLS authentication" #~ msgstr "ಹೆಚà³à²šà³à²µà²°à²¿ TLS ದೃಢೀಕರಣವನà³à²¨à³ ಬಳಸಿ" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ಇಚà³à²›à³†à²¯ ಮರà³à²¸à²‚ಧಾನ ಕಾಲಾವಧಿಯನà³à²¨à³ ಬಳಸà³(_r):" #~ msgid "User Certificate:" #~ msgstr "ಬಳಕೆದಾರ ಪà³à²°à²®à²¾à²£à²ªà²¤à³à²°:" #~ msgid "User name:" #~ msgstr "ಬಳಕೆದಾರ ಹೆಸರà³:" danfruehauf-NetworkManager-ssh-f65d65d/po/ko.po000066400000000000000000000365271507335542500215610ustar00rootroot00000000000000# GNOME Korea translation of nm-ssh. # Copyright (C) 2007 THE nm-ssh'S COPYRIGHT HOLDER # This file is distributed under the same license as the nm-ssh package. # Young-Ho Cha , 2007. # Namhyung Kim , 2007. # Changwoo Ryu , 2011. # msgid "" msgstr "" "Project-Id-Version: nm-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-02-27 15:45+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: GNOME Korea \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "ê°€ìƒ ì‚¬ì„¤ ë„¤íŠ¸ì›Œí¬ '%s'ì— ì ‘ê·¼í•  때 ì¸ì¦ì´ 필요합니다." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN ì¸ì¦" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "암호(_P):" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "암호(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ë³´ì¡° 암호(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "암호" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH 서버와 호환ë©ë‹ˆë‹¤." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "암호" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "VPN ì¸ì¦" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "불필요" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH 고급 옵션" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "게ì´íŠ¸ì›¨ì´ í¬íЏ(_G):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TAP 장치 사용(_P)" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "사용ìžì´ë¦„:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "게ì´íŠ¸ì›¨ì´ í¬íЏ(_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "ì›ê²© IP(_R):" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "로컬 IP: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "고급(_V)" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "필수 ì •ë³´" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "암호" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "VPN 설정 ì˜µì…˜ì´ ìž˜ëª»ë˜ì–´ì„œ ë¡œê·¸ì¸ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ì‚¬ìš©ìž ì´ë¦„(_U):" #~ msgid "_Domain:" #~ msgstr "ë„ë©”ì¸(_D):" #~ msgid "Connect _anonymously" #~ msgstr "ìµëª…으로 ì—°ê²°(_A)" #~ msgid "Connect as _user:" #~ msgstr "사용ìžë¡œ ì—°ê²°(_U):" #~ msgid "_Remember password for this session" #~ msgstr "ì´ ì„¸ì…˜ì—서 암호 저장(_R)" #~ msgid "_Save password in keyring" #~ msgstr "키 모ìŒì— 암호 저장(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "ì¸ì¦ì„œ 암호(_W):" #~ msgid "Certificate password:" #~ msgstr "ì¸ì¦ì„œ 암호:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "ì¸ì¦ 기관 ì¸ì¦ì„œë¥¼ ì„ íƒí•˜ì‹­ì‹œì˜¤..." #~ msgid "Choose your personal certificate..." #~ msgstr "ê°œì¸ ì¸ì¦ì„œë¥¼ ì„ íƒí•˜ì‹­ì‹œì˜¤..." #~ msgid "Choose your private key..." #~ msgstr "ê°œì¸ í‚¤ë¥¼ ì„ íƒí•˜ì‹­ì‹œì˜¤..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH ê³ ì • 키를 ì„ íƒí•˜ì‹­ì‹œì˜¤..." #~ msgid "None" #~ msgstr "ì—†ìŒ" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM ë˜ëŠ” PKCS#12 ì¸ì¦ì„œ (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM ì¸ì¦ì„œ (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH ê³ ì • 키 (*.key)" #~ msgid "Default" #~ msgstr "기본값" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "ì¸ì¦ì„œ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "암호 ë° ì¸ì¦ì„œ (TLS)" #~ msgid "Static Key" #~ msgstr "ê³ ì • 키" #~ msgid "The following SSH connection will be created:" #~ msgstr "ë‹¤ìŒ SSH ì—°ê²°ì´ ë§Œë“¤ì–´ì§‘ë‹ˆë‹¤:" #~ msgid "Name: %s" #~ msgstr "ì´ë¦„: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "ì—°ê²° 형ì‹: X.509 ì¸ì¦ì„œ" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "ì¸ì¦ì„œ: %s" #~ msgid "Key: %s" #~ msgstr "키: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "ì—°ê²° 형ì‹: 공유키" #~ msgid "Shared Key: %s" #~ msgstr "공유키: %s" #~ msgid "Remote IP: %s" #~ msgstr "ì›ê²© IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "ì—°ê²° 형ì‹: 암호" #~ msgid "Username: %s" #~ msgstr "사용ìžì´ë¦„: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "ì—°ê²° 형ì‹: X.509 ë° ì•”í˜¸ ì¸ì¦" #~ msgid "Remote: %s" #~ msgstr "ì›ê²©: %s" #~ msgid "Port: %s" #~ msgstr "í¬íЏ: %s" #~ msgid "Device: %s" #~ msgstr "장치: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "프로토콜: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "경로: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "LZO ì••ì¶• 사용: %s" #~ msgid "Yes" #~ msgstr "예" #~ msgid "Cipher: %s" #~ msgstr "암호화: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS ì¸ì¦: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "\"편집\" 단추를 눌러서 ì—°ê²° ì„¤ì •ì„ ë°”ê¿€ 수 있습니다." #~ msgid "Cannot import settings" #~ msgstr "ì„¤ì •ì„ ê°€ì ¸ì˜¬ 수 ì—†ìŒ" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN 설정 íŒŒì¼ '%s'ì— ì˜¬ë°”ë¥¸ ë°ì´í„°ê°€ 들어있지 않습니다." #~ msgid "Select file to import" #~ msgstr "가져올 íŒŒì¼ ì„ íƒ" #~ msgid "Select CA to use" #~ msgstr "사용할 CA ì„ íƒ" #~ msgid "Select certificate to use" #~ msgstr "사용할 ì¸ì¦ì„œ ì„ íƒ" #~ msgid "Select key to use" #~ msgstr "사용할 키 ì„ íƒ" #~ msgid "Select shared key to use" #~ msgstr "사용할 공유키 ì„ íƒ" #~ msgid "Select TA to use" #~ msgstr "사용할 TA ì„ íƒ" #~ msgid "Save as..." #~ msgstr "다른 ì´ë¦„으로 저장..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "\"%s\" 파ì¼ì´ ì´ë¯¸ 있습니다." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "ì´ë¥¼ 저장할 파ì¼ë¡œ 바꾸겠습니까?" #~ msgid "Failed to export configuration" #~ msgstr "설정 내보내기 실패" #~ msgid "Failed to save file %s" #~ msgstr "íŒŒì¼ %s(으)로 저장 실패" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "예: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "CA 파ì¼(_A):" #~ msgid "Co_nnection type:" #~ msgstr "ì—°ê²° 형ì‹(_N):" #~ msgid "Connection na_me:" #~ msgstr "ì—°ê²° ì´ë¦„(_M):" #~ msgid "Direction:" #~ msgstr "ë°©í–¥:" #~ msgid "Import _Saved Configuration..." #~ msgstr "ì €ìž¥ëœ ì„¤ì • 가져오기(_S)..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "사설 ë„¤íŠ¸ì›Œí¬ ì—°ê²°ì— ë¶™ì¼ ì´ë¦„. (예: \"í•™êµ VPN\", \"회사 네트워í¬\")" #~ msgid "Network" #~ msgstr "네트워í¬" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "ì´ ì£¼ì†Œì—는 VPN ì—°ê²° ë§Œ 사용(_V):" #~ msgid "SSH Configuration" #~ msgstr "SSH 설정" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "시스템 관리ìžì—게 ë°›ì€ ì •ë³´ë¥¼ 입력하십시오. ì—°ê²°ë  ë•Œ 나타나는 í™”ë©´ì— ì•”í˜¸" #~ "를 입력하지 마십시오." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "가져올 파ì¼ì€ SSH 설정파ì¼ì´ 아닙니다. 관리ìžì—게 파ì¼ì— 대해 문ì˜í•˜ì‹œê¸° " #~ "ë°”ëžë‹ˆë‹¤." #~ msgid "Shared _key:" #~ msgstr "공유키(_K):" #~ msgid "TLS-Auth" #~ msgstr "TLS ì¸ì¦" #~ msgid "Use L_ZO compression" #~ msgstr "LZO ì••ì¶• 사용(_Z)" #~ msgid "Use _TCP connection" #~ msgstr "TCP ì—°ê²° 사용(_T)" #~ msgid "Use _TLS auth:" #~ msgstr "TLS ì¸ì¦ 사용(_T):" #~ msgid "Use cip_her:" #~ msgstr "암호화 사용(_H):" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 ì¸ì¦ì„œ\n" #~ "미리 ê³µìœ ëœ í‚¤\n" #~ "암호 ì¸ì¦\n" #~ "X.509 ë° ì•”í˜¸ ì¸ì¦" #~ msgid "_0" #~ msgstr "0(_0)" #~ msgid "_1" #~ msgstr "1(_1)" #~ msgid "_Gateway address:" #~ msgstr "게ì´íŠ¸ì›¨ì´ ì£¼ì†Œ(_G):" #~ msgid "_Key:" #~ msgstr "키(_K):" #~ msgid "_Local IP:" #~ msgstr "로컬 IP(_L):" #~ msgid "_User name:" #~ msgstr "ì‚¬ìš©ìž ì´ë¦„(_U):" #~ msgid "_none" #~ msgstr "ì—†ìŒ(_N)" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "VPN ì—°ê²° ë”하기, 지우기, 편집" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN ì—°ê²° ê´€ë¦¬ìž (SSH)" #~ msgid "Connection Name" #~ msgstr "ì—°ê²° ì´ë¦„" #~ msgid "Optional Information" #~ msgstr "기타 ì •ë³´" #~ msgid "CA file:" #~ msgstr "CA 파ì¼:" #~ msgid "Shared Key:" #~ msgstr "공유키:" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "ì‚¬ìš©ìž ì´ë¦„ê³¼ 열쇠글 ë˜ëŠ” ì¸ì¦ì„œ ì—´ì‡ ê¸€ì´ í‹€ë ¤ì„œ ë¡œê·¸ì¸ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "VPN í”„ë¡œê·¸ëž¨ì„ ì‹œìž‘í•  수 없어서 ë¡œê·¸ì¸ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "VPN í”„ë¡œê·¸ëž¨ì´ VPN ì„œë²„ì— ì—°ê²°í•˜ì§€ 못해서 ë¡œê·¸ì¸ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "VPN í”„ë¡œê·¸ëž¨ì´ VPN 서버ì—서 ìž˜ëª»ëœ ì„¤ì •ê°’ì„ ë°›ì•„ì„œ ë¡œê·¸ì¸ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." #~ msgid "VPN connection failed" #~ msgstr "VPN ì—°ê²° 실패" danfruehauf-NetworkManager-ssh-f65d65d/po/lt.po000066400000000000000000000342341507335542500215600ustar00rootroot00000000000000# Lithuanian translation of NetworkManager-ssh. # Copyright © 2008, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the NetworkManager package. # Žygimantas BeruÄka , 2008, 2010. # Aurimas ÄŒernius , 2010. msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-16 16:15+0300\n" "Last-Translator: Aurimas ÄŒernius \n" "Language-Team: Lithuanian \n" "Language: lt\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" "%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Virtaal 0.6.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Norint gauti prieigÄ… prie Virtualiojo PrivaÄiojo Tinklo „%s“, reikia " "nustatyti jÅ«sų tapatybÄ™." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Nustatyti tapatybÄ™ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Slaptažodis:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Slaptažodis:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Antrinis slaptažodis:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "_Rodyti slaptažodžius" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Suderinamas su SSH serveriu." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "IÅ¡saugota" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Visada klausti" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Slaptažodis" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS tapatybÄ—s nustatymas" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "NebÅ«tina" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "IÅ¡samesnÄ—s SSH parinktys" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Naudoti pasirinktinį Å¡liuzo _prievadÄ…:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Naudoti pasirinktinį _tunelio didžiausiÄ… perdavimo blokÄ… (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Naudoti TA_P įrenginį" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Tarpinio serverio naudotojo vardas:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Bendra" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Bendra" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Å _liuzas:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "NutolÄ™s IP adresas:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Vietinis IP adresas:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "NutolÄ™s IP adresas:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Vietinis IP adresas:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "IÅ¡sa_miau..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "TapatybÄ—s nustatymas" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipas:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS tapatybÄ—s nustatymas" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Rodyti slaptažodžius" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Rakto failas:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "netinkamas adresas „%s“" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "netinkama skaitinÄ— savybÄ— „%s“ arba už ribų [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "netinkama loginÄ— savybÄ— „%s“ (ne taip arba ne)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "neapdorotas savybÄ—s „%s“ tipas %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "savybÄ— „%s“ netinkama arba nepalaikoma" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "NÄ—ra VPN konfigÅ«racijos parinkÄių." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Nepavyko rasti ssh programos." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Nepavyko rasti ssh programos." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Rodyti slaptažodžius" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Nežinomas ryÅ¡io tipas „%s“." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Netinkamas prievado numeris „%s“." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Netinkamas TUN MTU dydis „%s“." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Netinkamas prievado numeris „%s“." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "TrÅ«kstamas bÅ«tinas iÅ¡orinis IP adresas statinio rakto veiksenai." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "TrÅ«kstamas bÅ«tinas vietinis IP adresas statinio rakto veiksenai." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "TrÅ«kstamas bÅ«tinas iÅ¡orinis IP adresas statinio rakto veiksenai." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "TrÅ«kstamas bÅ«tinas vietinis IP adresas statinio rakto veiksenai." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Nepavyko apdoroti užklausos, nes VPN prisijungimo nustatymai buvo netinkami." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "NeiÅ¡jungti, kai VPN ryÅ¡ys baigiasi" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Ä®jungti iÅ¡samų derinimo žurnalÄ… (gali parodyti slaptažodžius)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-vpnc-service suteikia NetworkManager integruotÄ… SSH galimybÄ™." #~ msgid "Certificate pass_word:" #~ msgstr "Liudijimo slaptažo_dis:" #~ msgid "Certificate password:" #~ msgstr "Liudijimo slaptažodis:" #~ msgid "Choose your personal certificate..." #~ msgstr "Pasirinkite savo asmeninį liudijimÄ…..." #~ msgid "Choose your private key..." #~ msgstr "Pasirinkite savo asmeninį raktÄ…..." #~| msgid "Not required" #~ msgid "Not Required" #~ msgstr "NebÅ«tina" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Pasirinkite liudijimų įstaigos liudijimÄ…..." #~ msgid "Choose an SSH static key..." #~ msgstr "Pasirinkite SSH statinį raktÄ…..." #~ msgid "None" #~ msgstr "NÄ—ra" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM arba PKCS#12 liudijimai (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM liudijimai (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH statiniai raktai (*.key)" #~ msgid "Default" #~ msgstr "Numatytasis" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Liudijimai (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Slaptažodis su liudijimais (TLS)" #~ msgid "Static Key" #~ msgstr "Statinis raktas" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Jungtis tik prie serverių, kurių liudijimai atitinka nurodytÄ…jį " #~ "subjektÄ….\n" #~ "Pavyzdys: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Jeigu naudojama rakto kryptis, ji turi bÅ«ti prieÅ¡inga naudojamai VPN " #~ "lygiarangyje. Pavyzdžiui, jeigu lygiarangyje naudojama „1“, Å¡iam " #~ "prisijungimui turi bÅ«ti naudojama „0“. Jeigu nežinote, kokiÄ… reikÅ¡mÄ™ " #~ "naudoti, susisiekite su savo sistemos administratoriumi." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Pasirinkite Å¡iÄ… parinktį, jei jÅ«sų organizacija turi prieigÄ… prie " #~ "interneto per tarpinį serverį." #~ msgid "CA Certificate:" #~ msgstr "LÄ® liudijimas:" #~ msgid "Cipher:" #~ msgstr "Å ifras:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC tapatybÄ—s nustatymas:" #~ msgid "Key Direction:" #~ msgstr "Rakto kryptis:" #~ msgid "Port:" #~ msgstr "Prievadas:" #~ msgid "Private Key Password:" #~ msgstr "Asmeninio rakto slaptažodis:" #~ msgid "Private Key:" #~ msgstr "Asmeninis raktas:" #~ msgid "Proxies" #~ msgstr "Tarpiniai serveriai" #~ msgid "Proxy Password:" #~ msgstr "Tarpinio serverio slaptažodis:" #~ msgid "Proxy Type:" #~ msgstr "Tarpinio serverio tipas:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Riboti tunelio TCP didžiausiÄ… segmento dydį (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "MÄ—ginti dar kartÄ… neribotÄ… laikÄ…, kai įvyksta klaidų" #~ msgid "Security" #~ msgstr "Saugumas" #~ msgid "Server Address:" #~ msgstr "Serverio adresas:" #~| msgid "Show passwords" #~ msgid "Show password" #~ msgstr "Rodyti slaptažodį" #~ msgid "Static Key:" #~ msgstr "Statinis raktas:" #~ msgid "Subject Match:" #~ msgstr "Subjekto atitikimas:" #~ msgid "Use L_ZO data compression" #~ msgstr "Naudoti L_ZO duomenų glaudinimÄ…" #~ msgid "Use a _TCP connection" #~ msgstr "Naudoti _TCP prisijungimÄ…" #~ msgid "Use additional TLS authentication" #~ msgstr "Naudoti papildomÄ… TLS tapatybÄ—s nustatymÄ…" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Naudoti pasirinktinį UDP _fragmento dydį:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Naudoti pasirinktinį pakartotinio jungimosi intervalÄ…:" #~ msgid "User Certificate:" #~ msgstr "Naudotojo liudijimas:" #~ msgid "User name:" #~ msgstr "Naudotojo vardas:" #~ msgid "No VPN secrets!" #~ msgstr "NÄ—ra VPN paslapÄių!" #~ msgid "Invalid HMAC auth." #~ msgstr "Netinkama HMAC tapatybÄ—." #~ msgid "Invalid connection type." #~ msgstr "Netinkamas prisijungimo tipas." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Netinkamas tarpininko tipas „%s“." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Netinkamos persijungimo sekundÄ—s „%s“." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Netinkamas fragmento dydis „%s“." #~ msgid "Could not process the request because no username was provided." #~ msgstr "Nepavyko apdoroti užklausos, nes nepateiktas naudotojo vardas." #~ msgid "_Username:" #~ msgstr "_Naudotojo vardas:" #~ msgid "_Domain:" #~ msgstr "S_ritis:" #~ msgid "Connect _anonymously" #~ msgstr "Jungtis an_onimiÅ¡kai" #~ msgid "Connect as _user:" #~ msgstr "Prisijungti kaip na_udotojas:" #~ msgid "_Remember password for this session" #~ msgstr "_Atsiminti slaptažodį Å¡iam seansui" #~ msgid "_Save password in keyring" #~ msgstr "IÅ¡_saugoti slaptažodį raktinÄ—je" #~ msgid "Certificate Password:" #~ msgstr "Liudijimo slaptažodis:" #~ msgid "Select A File" #~ msgstr "Pasirinkite failÄ…" danfruehauf-NetworkManager-ssh-f65d65d/po/lv.po000066400000000000000000000477221507335542500215700ustar00rootroot00000000000000# English (British) translation for NetworkManager-ssh # Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-ssh package. # # David Lodge , 2006. # RÅ«dolfs Mazurs , 2010. # Rudolfs , 2011. # RÅ«dofls Mazurs , 2011. msgid "" msgstr "" "Project-Id-Version: NetworkManager SSH plugin\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-31 02:43+0300\n" "Last-Translator: RÅ«dofls Mazurs \n" "Language-Team: Latvian \n" "Language: lv\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-Poedit-Language: Latvian\n" "X-Poedit-Country: LATVIA\n" "X-Generator: Lokalize 1.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Jums jÄautentificÄ“jas, lai lietotu virtuÄlo privÄto tÄ«klu '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "AutentificÄ“t VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Parole:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Parole:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_SekundÄrÄ parole:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "RÄdÄ«t paroli" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Savietojams ar SSH serveri." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Parole" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS autentifikÄcija" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Nav nepiecieÅ¡ams" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH paplaÅ¡inÄtÄs opcijas" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Izmantot pielÄgotu vÄrtejas p_ortu: " #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Izmantot pielÄgotu _tuneļa maksimÄlo pÄrraides bloku (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Lietot TA_P iekÄrtu" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Starpnieka lietotÄjvÄrds:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "VispÄrÄ“js" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "VispÄrÄ“js" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_VÄrteja:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "AttÄlinÄtÄ IP adrese:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "LokÄlÄ IP adrese:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "AttÄlinÄtÄ IP adrese:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "LokÄlÄ IP adrese:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_PaplaÅ¡inÄts" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "AutentifikÄcija" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tips:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS autentifikÄcija" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "RÄdÄ«t paroles" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "AtslÄ“gas fails:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "nederÄ«ga adrese '%s'" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "nederÄ«ga veselÄ skaitļa Ä«pašība '%s' vai Ärpus apgabala [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "nederÄ«ga bÅ«la Ä«pašība '%s' (nav jÄ vai nÄ“)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "neapstrÄdÄts Ä«pašības '%s' tips %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "Ä«pašība '%s' nederÄ«ga vai nav atbalstÄ«ta" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Nav VPN konfigurÄcijas opciju." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "NevarÄ“ja atrast ssh binÄro failu." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "NevarÄ“ja atrast ssh binÄro failu." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "RÄdÄ«t paroles" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "NezinÄms savienojuma tips '%s'." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "NederÄ«gs porta numurs '%s'." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "NederÄ«gs TUN MTU izmÄ“rs '%s'." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "NederÄ«gs porta numurs '%s'." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "TrÅ«kst vajadzÄ«gÄ attÄlinÄtÄ IP adrese statiskÄs atslÄ“gas režīmam." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "TrÅ«kst vajadzÄ«gÄ lokÄlÄ IP adrese statiskÄs atslÄ“gas režīmam." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "TrÅ«kst vajadzÄ«gÄ attÄlinÄtÄ IP adrese statiskÄs atslÄ“gas režīmam." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "TrÅ«kst vajadzÄ«gÄ lokÄlÄ IP adrese statiskÄs atslÄ“gas režīmam." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "NeizdevÄs apstrÄdÄt pieprasÄ«jumu, jo VPN savienojuma iestatÄ«jumi bija " "nederÄ«gi." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Neiziet, kad tiek pÄrtraukts VPN savienojums" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "AktivÄ“t detalizÄ“tu atkļūdoÅ¡anas reÄ£istrēšanu (var atklÄt paroles)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-vpnc-service nodroÅ¡ina NetworkManager integrÄ“tu SSH iespÄ“ju." #~ msgid "_Username:" #~ msgstr "_LietotÄjvÄrds:" #~ msgid "_Domain:" #~ msgstr "_DomÄ“ns:" #~ msgid "Connect _anonymously" #~ msgstr "Savienoties _anonÄ«mi" #~ msgid "Connect as _user:" #~ msgstr "Savienoties kÄ _lietotÄjam:" #~ msgid "_Remember password for this session" #~ msgstr "Atce_rÄ“ties paroli Å¡ai sesijai" #~ msgid "_Save password in keyring" #~ msgstr "_SaglabÄt paroli saišķī" #~ msgid "Certificate pass_word:" #~ msgstr "SertifikÄta _parole:" #~ msgid "Certificate password:" #~ msgstr "SertifikÄta parole:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "IzvÄ“lieties sertificēšanas institÅ«cijas (CA) sertifikÄtu..." #~ msgid "Choose your personal certificate..." #~ msgstr "IzvÄ“lieties savu personÄ«go sertifikÄtu..." #~ msgid "Choose your private key..." #~ msgstr "IzvÄ“lieties savu privÄto atslÄ“gu..." #~ msgid "Choose an SSH static key..." #~ msgstr "IzvÄ“lieties SSH statisko atslÄ“gu..." #~ msgid "None" #~ msgstr "Nav" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM vai PKCS#12 sertifikÄti (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM sertifikÄti (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH statiskÄs atslÄ“gas (*.key)" #~ msgid "Default" #~ msgstr "NoklusÄ“tais" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "SertifikÄti (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Parole ar sertifikÄtu (TLS)" #~ msgid "Static Key" #~ msgstr "StatiskÄ atslÄ“ga" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Savienoties tikai ar serveriem, kuru sertifikÄts atbilst dotajam " #~ "subjektam.\n" #~ "PiemÄ“ram: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Ja tiek izmantota virziena atslÄ“ga, tai ir jÄbÅ«t pretÄ“jai, nekÄ otram " #~ "dalÄ«bniekam VPN. PiemÄ“ram, ja dalÄ«bnieks izmanto '1', tad Å¡im " #~ "savienojumam jÄizmanto '0'. Ja nezinÄt, kÄdu vÄ“rtÄ«bu izmantot, " #~ "sazinieties ar sistÄ“mas administratoru." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "IzvÄ“lieties Å¡o opciju, ja jÅ«su organizÄcija izmanto starpnieka " #~ "serveri, lai piekļūtu Internetam." #~ msgid "CA Certificate:" #~ msgstr "CA SertifikÄts:" #~ msgid "Cipher:" #~ msgstr "Å ifrs:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC autentifikÄcija:" #~ msgid "Key Direction:" #~ msgstr "AtslÄ“gas virziens:" #~| msgid "Port: %s" #~ msgid "Port:" #~ msgstr "Ports:" #~ msgid "Private Key Password:" #~ msgstr "PrivÄtÄs atslÄ“gas parole:" #~ msgid "Private Key:" #~ msgstr "PrivÄtÄ atslÄ“ga:" #~ msgid "Proxies" #~ msgstr "Starpnieki" #~| msgid "Password:" #~ msgid "Proxy Password:" #~ msgstr "Starpnieka parole:" #~| msgid "Type:" #~ msgid "Proxy Type:" #~ msgstr "Starpnieka tips:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Ierobežot tuneļa TCP maksimÄlo segmenta izmÄ“ru (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "MēģinÄt atkal nebeidzami ilgi, ja gadÄs kļūda" #~ msgid "Security" #~ msgstr "Drošība" #~| msgid "Remote IP Address:" #~ msgid "Server Address:" #~ msgstr "Servera adrese:" #~ msgid "Static Key:" #~ msgstr "StatiskÄs atslÄ“gas:" #~ msgid "Subject Match:" #~ msgstr "Subjekta atbilstÄ«ba:" #~ msgid "Use L_ZO data compression" #~ msgstr "Lietot L_ZO datu kompresiju" #~ msgid "Use a _TCP connection" #~ msgstr "Lietot _TCP savienojumu" #~ msgid "Use additional TLS authentication" #~ msgstr "Lietot papildus TLS autentifikÄciju" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Lietot pielÄgotu UDP _fragmenta izmÄ“ru:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Izmantot pielÄgotu atkÄ_rtotÄs vienoÅ¡anÄs intervÄlu:" #~ msgid "User Certificate:" #~ msgstr "LietotÄja sertifikÄts:" #~ msgid "User name:" #~ msgstr "LietotÄjvÄrds:" #~ msgid "No VPN secrets!" #~ msgstr "Nav VPN noslÄ“pumu!" #~ msgid "Invalid HMAC auth." #~ msgstr "NederÄ«gs HMAC auth." #~| msgid "Co_nnection type:" #~ msgid "Invalid connection type." #~ msgstr "NederÄ«gs savienojuma tips." #~ msgid "Invalid proxy type '%s'." #~ msgstr "NederÄ«gs starpnieka tips '%s'." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "NederÄ«gas reneg sekundes '%s'." #~ msgid "Invalid fragment size '%s'." #~ msgstr "NederÄ«gs fragmenta izmÄ“rs '%s'." #~ msgid "Could not process the request because no username was provided." #~ msgstr "NeizdevÄs apstrÄdÄt pieprasÄ«jumu, jo netika dots lietotÄja vÄrds." #~ msgid "The following SSH connection will be created:" #~ msgstr "Tiks izveidots SSH savienojums:" #~ msgid "Name: %s" #~ msgstr "VÄrds: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Savienojuma tips: X.509 sertifikÄti" #~ msgid "CA: %s" #~ msgstr "Sertificēšanas institÅ«cija (CA): %s" #~ msgid "Cert: %s" #~ msgstr "Sertif.: %s" #~ msgid "Key: %s" #~ msgstr "AtslÄ“ga: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Savienojuma tips: kopÄ«gÄ atslÄ“ga" #~ msgid "Shared Key: %s" #~ msgstr "KopÄ«gÄ atslÄ“ga: %s" #~ msgid "Remote IP: %s" #~ msgstr "AttÄlinÄtÄ IP adrese: %s" #~ msgid "Connection Type: Password" #~ msgstr "Savienojuma tips: parole" #~ msgid "Username: %s" #~ msgstr "LietotÄjvÄrds: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Savienojuma tips: X.509 ar paroles autentificēšanu" #~ msgid "Remote: %s" #~ msgstr "AttÄlinÄtais: %s" #~ msgid "Device: %s" #~ msgstr "IekÄrta: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protokols: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "MarÅ¡ruti: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Lietot LZO kompresiju: %s" #~ msgid "Yes" #~ msgstr "JÄ" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS autentificēšana: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Savienojuma Ä«pašības var mainÄ«t, lietojot \"Labot\" pogu." #~ msgid "Cannot import settings" #~ msgstr "Nav iespÄ“jams importÄ“t iestatÄ«jumus" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN iestatÄ«jumu datne '%s' nesatur derÄ«gus datus." #~ msgid "Select file to import" #~ msgstr "IzvÄ“lieties datni importam" #~ msgid "Select CA to use" #~ msgstr "IzvÄ“lieties savienojuma CA" #~ msgid "Select certificate to use" #~ msgstr "IzvÄ“lieties savienojuma sertifikÄtu" #~ msgid "Select key to use" #~ msgstr "IzvÄ“lieties savienojuma atslÄ“gu" #~ msgid "Select shared key to use" #~ msgstr "IzvÄ“lieties savienojuma kopÄ«go atslÄ“gu" #~ msgid "Select TA to use" #~ msgstr "IzvÄ“lieties savienojuma TA atslÄ“gu" #~ msgid "Save as..." #~ msgstr "SaglabÄt kÄ..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Datne \"%s\" jau eksistÄ“." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Vai vÄ“laties aizvietot to ar paÅ¡reiz saglabÄjamo?" #~ msgid "Failed to export configuration" #~ msgstr "NeizdevÄs eksportÄ“t konfigurÄciju" #~ msgid "Failed to save file %s" #~ msgstr "NeizdevÄs saglabÄt datni %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "piemÄ“rs: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "C_A datne:" #~ msgid "Connection na_me:" #~ msgstr "Savienoju_ma nosaukums:" #~ msgid "Import _Saved Configuration..." #~ msgstr "ImportÄ“t _saglabÄto konfigurÄciju..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Nosaukums savienojumam ar privÄto tÄ«klu, piem. \"UniversitÄtes VPN\" or " #~ "\"KorporatÄ«vais tÄ«kls\"" #~ msgid "Network" #~ msgstr "TÄ«kls" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "Lietot VPN savienojumu tikai šīm adresÄ“m:" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "LÅ«dzu, zemÄk ievadiet no jÅ«su sistÄ“mas administratora saņemto " #~ "informÄciju. Paroli Å¡eit neievadiet, tÄ tiks pieprasÄ«ta savienojoties." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Å…emiet vÄ“rÄ, ka importÄ“jamÄ datne nav SSH konfigurÄcijas datne. " #~ "KonfigurÄcijas datni jautÄjiet sistÄ“mas administratoram." #~ msgid "Shared _key:" #~ msgstr "_KopÄ“jÄ atslÄ“ga:" #~ msgid "TLS-Auth" #~ msgstr "TLS-autentifikÄcija" #~ msgid "Use _TLS auth:" #~ msgstr "Lietot _TLS autentifikÄciju:" #~ msgid "Use cip_her:" #~ msgstr "Lietot Å¡i_fru:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 sertifikÄts\n" #~ "KoplietojamÄ atslÄ“ga\n" #~ "Paroles autentifikÄcija\n" #~ "X.509 ar paroles autentifikÄciju" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "_VÄrtejas adrese:" #~ msgid "_Key:" #~ msgstr "_AtslÄ“ga:" #~ msgid "_Local IP:" #~ msgstr "_LokÄlÄ IP adrese:" #~ msgid "_none" #~ msgstr "_nekas" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Add, Remove, and Edit VPN Connections" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN Connection Manager (SSH)" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "The VPN login failed because the VPN program could not be started." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgid "VPN connection failed" #~ msgstr "VPN connection failed" #~ msgid "Connection Name" #~ msgstr "Connection Name" #~ msgid "Optional Information" #~ msgstr "Optional Information" #~ msgid "CA file:" #~ msgstr "CA file:" #~ msgid "X.509" #~ msgstr "X.509" danfruehauf-NetworkManager-ssh-f65d65d/po/mk.po000066400000000000000000000357201507335542500215510ustar00rootroot00000000000000# translation of NetworkManager-ssh.HEAD.po to Macedonian # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Jovan Naumovski , 2007. # Arangel Angov , 2007. msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2007-12-02 18:53+0100\n" "Last-Translator: Arangel Angov \n" "Language-Team: Macedonian \n" "Language: mk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Треба да ја потврдите автентичноÑта за да приÑтапите кон виртуелната " "приватна мрежа „%s“." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Потврди автентичноÑÑ‚ за виртуелна приватна мрежа" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_Лозинка:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_Лозинка:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Втора лозинка:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "_Лозинка:" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "SSH клиент" #: ../properties/nm-ssh.c:633 #, fuzzy msgid "Password" msgstr "_Лозинка:" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Потврди автентичноÑÑ‚ за виртуелна приватна мрежа" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Ðапредни опции за SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "_Порта на премин:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "КориÑти TA_P уред" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "_КориÑничко име:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Порта на премин:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "_Оддалечена IP:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "Локална IP: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Ðа_предно" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "_Лозинка:" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "_Домен:" #~ msgid "Connect _anonymously" #~ msgstr "Поврзи Ñе _анонимно" #~ msgid "Connect as _user:" #~ msgstr "Поврзи Ñе како _кориÑник:" #~ msgid "_Remember password for this session" #~ msgstr "_Запамети ја лозинката за оваа ÑеÑија" #~ msgid "_Save password in keyring" #~ msgstr "_Зачувај ја лозинката во приврзок" #~ msgid "Certificate pass_word:" #~ msgstr "Лозин_ка на Ñертификат:" #~ msgid "Certificate password:" #~ msgstr "Лозинка на Ñертификат:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Додавајте, отÑтранувајте и уредувајте VPN врÑки" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Менаџер за VPN врÑки (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "Следната SSH врÑка ќе биде креирана:" #~ msgid "Name: %s" #~ msgstr "Име: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Тип на врÑка: X.509 Ñертификати" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Серт.: %s" #~ msgid "Key: %s" #~ msgstr "Клуч: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Тип на врÑка: Споделен клуч" #~ msgid "Shared Key: %s" #~ msgstr "Споделен клуч: %s" #~ msgid "Remote IP: %s" #~ msgstr "Оддалечена IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "Тип на врÑка: лозинка" #~ msgid "Username: %s" #~ msgstr "КориÑничко име: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Тип на врÑка: X.509 Ñо автентикација на лозинка" #~ msgid "Remote: %s" #~ msgstr "Оддалечено: %s" #~ msgid "Port: %s" #~ msgstr "Порта: %s" #~ msgid "Device: %s" #~ msgstr "Уред: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Протокол: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Рутирања: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "КориÑти LZO компреÑија: %s" #~ msgid "Yes" #~ msgstr "Да" #~ msgid "No" #~ msgstr "Ðе" #~ msgid "Cipher: %s" #~ msgstr "Шифра: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS авт.: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "" #~ "Деталите за врÑката можат да Ñе променат Ñо кориÑтење на копчето \"Уреди" #~ "\"." #~ msgid "Cannot import settings" #~ msgstr "Ðе можам да ги увезам поÑтавувањата" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "Датотеката Ñо VPN поÑтавувања '%s' не Ñодржи валидни податоци." #~ msgid "Select file to import" #~ msgstr "Изберете датотека за увоз" #~ msgid "Select CA to use" #~ msgstr "Одберете Ñертификат кој ќе Ñе употребува" #~ msgid "Select certificate to use" #~ msgstr "Одберете Ñертификат кој ќе Ñе употребува" #~ msgid "Select key to use" #~ msgstr "Одберете клуч кој ќе Ñе употребува" #~ msgid "Select shared key to use" #~ msgstr "Одберете Ñподелен клуч кој ќе Ñе употребува" #~ msgid "Select TA to use" #~ msgstr "Одберте TA кое ќе Ñе употребува" #~ msgid "Save as..." #~ msgstr "Зачувај како..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Датотеката Ñо името \"%s\" веќе поÑтои." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Дали Ñакате да ја замените Ñо онаа која ја зачувувате?" #~ msgid "Failed to export configuration" #~ msgstr "Ðе уÑпеав да ја извезам конфигурацијата" #~ msgid "Failed to save file %s" #~ msgstr "Ðе можам да ја зачувам датотеката %s" #~ msgid "(Default: 1194)" #~ msgstr "(Стандардна: 1194)" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "пример: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "C_A датотека:" #~ msgid "C_ertificate:" #~ msgstr "С_ертификат:" #~ msgid "Co_nnection type:" #~ msgstr "Ти_п на врÑка:" #~ msgid "Connection na_me:" #~ msgstr "Тип на вр_Ñка:" #~ msgid "Direction:" #~ msgstr "ÐаÑока:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Увези _зачувана конфигурација..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Име кое ќе Ñе кориÑти за идентификација на врÑката до приватната мрежа, " #~ "на пр. \"VPN на универзитетот\" или \"Мрежа на здружението\"" #~ msgid "Network" #~ msgstr "Мрежа" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "КориÑти _VPN врÑки Ñамо за овие адреÑи:" #~ msgid "SSH Configuration" #~ msgstr "Конфигурација на SSH" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Ве молам, внеÑете ги информациите добиени од Вашиот админиÑтратор на " #~ "ÑиÑтемот. Ðе ја внеÑувајте Вашата лозинка овде, бидејќи ќе Ви биде " #~ "побарана при поврзување." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Забележете дека датотеката која ја увезувате не е SSH конфигурациÑка " #~ "датотека. Датотеката побарајте ја кај Вашиот админиÑтратор на ÑиÑтемот." #~ msgid "Shared _key:" #~ msgstr "Споделен _клуч:" #~ msgid "TLS-Auth" #~ msgstr "TLS проверка" #~ msgid "Use L_ZO compression" #~ msgstr "КориÑти L_ZO компреÑија" #~ msgid "Use _TCP connection" #~ msgstr "КориÑти _TCP врÑка" #~ msgid "Use _TLS auth:" #~ msgstr "КориÑти _TLS авторизација:" #~ msgid "Use cip_her:" #~ msgstr "КориÑти cip_her:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509 Ñертификати\n" #~ "Однапред Ñподелен клуч\n" #~ "Ðвтентикација на лозинка\n" #~ "X.509 Ñо автентикација на лозинка" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "_ÐдреÑа за премин:" #~ msgid "_Key:" #~ msgstr "_Клуч:" #~ msgid "_Local IP:" #~ msgstr "_Локална IP:" #~ msgid "_User name:" #~ msgstr "_КориÑничко име:" #~ msgid "_none" #~ msgstr "_ништо" danfruehauf-NetworkManager-ssh-f65d65d/po/mr.po000066400000000000000000000273161507335542500215620ustar00rootroot00000000000000# translation of network-manager-ssh.master.mr.po to marathi # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Sandeep Shedmake , 2009. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh.master.mr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-06-09 14:53+0530\n" "Last-Translator: Sandeep Shedmake \n" "Language-Team: marathi\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Virtual Private Network '%s' करीता पà¥à¤°à¤µà¥‡à¤¶à¤¸à¤¾à¤ à¥€ तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ ओळख पटवावी लागेल." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN करीता ओळख पटवा" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "परवलीचा शबà¥à¤¦:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "परवलीचा शबà¥à¤¦ (_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "दà¥à¤¯à¥à¤¯à¤® परवलीचा शबà¥à¤¦ (_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "परवलीचा शबà¥à¤¦ दाखवा" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH सरà¥à¤µà¤°à¤¶à¥€ सहतà¥à¤µ." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "परवलीचा शबà¥à¤¦" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS ओळख पटवा" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH पà¥à¤°à¤—त परà¥à¤¯à¤¾à¤¯" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "सà¥à¤µà¤ªà¤¸à¤‚त गेटवे पोरà¥à¤Ÿ वापरा (_o):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TAP साधनाचा वापरा (_P)" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "वापरकरà¥à¤¤à¤¾ नाव (_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "सरà¥à¤µà¤¸à¤¾à¤§à¤¾à¤°à¤£" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "सरà¥à¤µà¤¸à¤¾à¤§à¤¾à¤°à¤£" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "गेटवे (_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "दूरसà¥à¤¥ IP पतà¥à¤¤à¤¾:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "सà¥à¤¥à¤¾à¤¨à¥€à¤¯ IP पतà¥à¤¤à¤¾:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "दूरसà¥à¤¥ IP पतà¥à¤¤à¤¾:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "सà¥à¤¥à¤¾à¤¨à¥€à¤¯ IP पतà¥à¤¤à¤¾:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "पà¥à¤°à¤—त (_v)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "ओळख पटवा" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "पà¥à¤°à¤•ार:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS ओळख पटवा" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "परवलीचा शबà¥à¤¦ दाखवा" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "कि फाइल:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "परवलीचा शबà¥à¤¦ दाखवा" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "कà¥à¤·à¥‡à¤¤à¥à¤° (_D):" #~ msgid "Connect _anonymously" #~ msgstr "निनावी नà¥à¤°à¥‚प जà¥à¤³à¤µà¤¾ (_a)" #~ msgid "Connect as _user:" #~ msgstr "वापरकरà¥à¤¤à¤¾ नà¥à¤°à¥‚प जà¥à¤³à¤µà¤¾ (_u):" #~ msgid "_Remember password for this session" #~ msgstr "या सतà¥à¤° करीता परवलीचा शबà¥à¤¦ लकà¥à¤·à¤¾à¤¤ ठेवा (_R)" #~ msgid "_Save password in keyring" #~ msgstr "किरींग अंतरà¥à¤—त परवलीचा शबà¥à¤¦ साठवा (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤° परवलीचा शबà¥à¤¦ (_w):" #~ msgid "Certificate password:" #~ msgstr "पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤° परवलीचा शबà¥à¤¦:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Certificate Authority पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤° निवडा..." #~ msgid "Choose your personal certificate..." #~ msgstr "खाजगी पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤° निवडा..." #~ msgid "Choose your private key..." #~ msgstr "वैयकà¥à¤¤à¤¿à¤• कि निवडा..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH सà¥à¤Ÿà¥…टीक कि निवडा..." #~ msgid "None" #~ msgstr "काहिच नाही" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤°à¤‚ (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH सà¥à¤Ÿà¥…टीक किज (*.key)" #~ msgid "Default" #~ msgstr "मà¥à¤²à¤­à¥‚त" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤°à¤‚ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤° सह परवलीचा शबà¥à¤¦ (TLS)" #~ msgid "Static Key" #~ msgstr "Static Key" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "कि दिशा वापरलà¥à¤¯à¤¾à¤¸, ते VPN सम गटाचà¥à¤¯à¤¾ विरूदà¥à¤§ वापरलेले असायला हवे. उदाहरणारà¥à¤¥, " #~ "सम गटाचà¥à¤¯ विरूदà¥à¤§ '1' चा वापर केलà¥à¤¯à¤¾à¤¸, जà¥à¤³à¤µà¤£à¥€à¤¨à¥‡ '0' वापरायला हवे. कà¥à¤ à¤²à¥‡ मà¥à¤²à¥à¤¯ " #~ "वापरायचे हे निशà¥à¤šà¤¿à¤¤ नसलà¥à¤¯à¤¾à¤¸, तà¥à¤®à¤šà¥à¤¯à¤¾ पà¥à¤°à¤£à¤¾à¤²à¥€ पà¥à¤°à¤¶à¤¾à¤¸à¤•ाशी संपरà¥à¤• करा." #~ msgid "CA Certificate:" #~ msgstr "CA पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤°:" #~ msgid "Cipher:" #~ msgstr "सिफर:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC ओळख पटवा:" #~ msgid "Key Direction:" #~ msgstr "कि दिशा:" #~ msgid "Private Key Password:" #~ msgstr "वैयकà¥à¤¤à¤¿à¤• कि परवलीचा शबà¥à¤¦:" #~ msgid "Private Key:" #~ msgstr "वैयकà¥à¤¤à¤¿à¤• कि:" #~ msgid "Security" #~ msgstr "सà¥à¤°à¤•à¥à¤·à¤¾" #~ msgid "Static Key:" #~ msgstr "सà¥à¤Ÿà¥…टीक कि:" #~ msgid "Use L_ZO data compression" #~ msgstr "LZO माहिती संकोचन वापरा (_Z)" #~ msgid "Use a _TCP connection" #~ msgstr "TCP जà¥à¤³à¤µà¤£à¥€à¤šà¤¾ वापरा (_T)" #~ msgid "Use additional TLS authentication" #~ msgstr "अगाऊ TLS ओळख पटवा वापरा" #~ msgid "User Certificate:" #~ msgstr "वापरकरà¥à¤¤à¤¾ पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤°:" #~ msgid "User name:" #~ msgstr "वापरकरà¥à¤¤à¤¾ नाव:" danfruehauf-NetworkManager-ssh-f65d65d/po/nb.po000066400000000000000000000252321507335542500215360ustar00rootroot00000000000000# Norwegian bokmÃ¥l translation of network-manager-ssh. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Kjartan Maraas , 2007,2011. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-19 13:27+0200\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian BokmÃ¥l \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Du mÃ¥ autentisere deg for Ã¥ fÃ¥ tilgang til virtuelt privat nettverk «%s»." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentiser VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Passord:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Passord:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundært passord:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "Vis pass_ord" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibel med SSH-tjeneren." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Lagret" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Alltid spør" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Passord:" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS-autentisering" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ikke nødvendig" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Avanserte alternativer for SSH" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Bruk en TA_P-enhet" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Brukernavn for proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Generelt" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Generelt" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Portner:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Ekstern IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Ekstern IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokal IP-adresse:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vansert …" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentisering" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Type:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS-autentisering" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Vis passord" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Nøkkelfil:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "ugyldig adresse «%s»" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Ingen konfigurasjonsalternativer for VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Vis passord" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Ukjent tilkoblingstype «%s»." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Ugyldig portnummer «%s»." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Ugyldig portnummer «%s»." #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Ikke avslutt nÃ¥r VPN-tilkobling termineres" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "Certificate pass_word:" #~ msgstr "Pass_ord for sertifikat:" #~ msgid "Certificate password:" #~ msgstr "Passord for sertifikat:" #~ msgid "Choose your personal certificate..." #~ msgstr "Velg ditt personlige sertifikat …" #~ msgid "Choose your private key..." #~ msgstr "Velg din private nøkkel …" #~ msgid "Not Required" #~ msgstr "Ikke nødvendig" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Velg et sertifikat fra en sertifikatmyndighet …" #~ msgid "Choose an SSH static key..." #~ msgstr "Velg en statisk nøkkel for SSH …" #~ msgid "None" #~ msgstr "Ingen" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM- eller PKCS#12-sertifikater (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM-sertifikater (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Statiske nøkler for SSH (*.key)" #~ msgid "Default" #~ msgstr "Forvalg" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Sertifikater (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Passord med sertifikater (TLS)" #~ msgid "Static Key" #~ msgstr "Statisk nøkkel" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Koble kun til tjenere hvis sertifikat passer oppgitt emne.\n" #~ "Eksempel: /CN=mittvpn.firma.no" #~ msgid "CA Certificate:" #~ msgstr "CA-sertifikat:" #~ msgid "Cipher:" #~ msgstr "Cipher:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC-autentisering" #~ msgid "Key Direction:" #~ msgstr "Nøkkelretning:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Passord for privat nøkkel:" #~ msgid "Private Key:" #~ msgstr "Privat nøkkel:" #~ msgid "Proxies" #~ msgstr "Proxyer" #~ msgid "Proxy Password:" #~ msgstr "Passord for proxy:" #~ msgid "Proxy Type:" #~ msgstr "Type proxy:" #~ msgid "Security" #~ msgstr "Sikkerhet" #~ msgid "Server Address:" #~ msgstr "Tjeneradresse:" #~ msgid "Show password" #~ msgstr "Vis passord" #~ msgid "Static Key:" #~ msgstr "Statisk nøkkel:" #~ msgid "Subject Match:" #~ msgstr "Emnesøk:" #~ msgid "Use L_ZO data compression" #~ msgstr "Bruk L_ZO-datakomprimering" #~ msgid "Use a _TCP connection" #~ msgstr "Bruk en _TCP-tilkobling" #~ msgid "Use additional TLS authentication" #~ msgstr "Bruk ekstra TLS-autentisering" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Bruk egendefinert _fragmentstørrelse for UDP:" #~ msgid "User Certificate:" #~ msgstr "Brukersertifikat:" #~ msgid "User name:" #~ msgstr "Brukernavn:" #~ msgid "No VPN secrets!" #~ msgstr "Ingen VPN-hemmeligheter!" #~ msgid "Invalid HMAC auth." #~ msgstr "Ugyldig HMAC-autentisering." #~ msgid "Invalid connection type." #~ msgstr "Ugyldig tilkoblingstype." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Ugyldig proxytype «%s»." danfruehauf-NetworkManager-ssh-f65d65d/po/nl.po000066400000000000000000000233001507335542500215420ustar00rootroot00000000000000# Dutch translation of NetworkManager-ssh # # This file is distributed under the same license as the NetworkManager-ssh # package. # # Tino Meinen , 2006, 2007, 2008. # Wouter Bolsterlee , 2008. # # # Static key Vaste sleutel # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2008-09-15 10:58+0200\n" "Last-Translator: Wouter Bolsterlee \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # dient zich aan te melden/moet zich aanmelden #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "U moet zich aanmelden om toegang te krijgen tot het Virtual Private Netwerk " "'%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Aanmeldingscontrole VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_Wachtwoord:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_Wachtwoord:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Tweede wachtwoord:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Wachtwoord" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Geschikt voor SSH-servers." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Wachtwoord" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Authenticatie" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH geavanceerde opties" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Aangepaste gateway-_poort:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "T_AP-apparaat gebruiken" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "_Gebruikersnaam:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Algemeen" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Algemeen" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "Lokaal IP-adres:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokaal IP-adres:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Lokaal IP-adres:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokaal IP-adres:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Geavanceerd…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Authenticatie" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Type:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Aanvullende TLS-authenticatie gebruiken" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Wachtwoord" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Sleutelbestand:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "_Domein:" #~ msgid "Connect _anonymously" #~ msgstr "_Anoniem verbinden" #~ msgid "Connect as _user:" #~ msgstr "Verbinden als _gebruiker:" #~ msgid "_Remember password for this session" #~ msgstr "Wa_chtwoord voor deze sessie onthouden" #~ msgid "_Save password in keyring" #~ msgstr "Wachtwoord op_slaan in sleutelbos" #~ msgid "Certificate pass_word:" #~ msgstr "Certificaat-_wachtwoord:" #~ msgid "Certificate password:" #~ msgstr "Certificaat-wachtwoord:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Kies certificaat van certificaatauthoriteit (CA)…" #~ msgid "Choose your personal certificate..." #~ msgstr "Kies uw persoonlijke certificate…" #~ msgid "Choose your private key..." #~ msgstr "Kies uw privé-sleutel…" #~ msgid "Choose an SSH static key..." #~ msgstr "Kies een vaste SSH-sleutel…" #~ msgid "None" #~ msgstr "Geen" #~ msgid "PEM certificates (*.pem, *.crt, *.key)" #~ msgstr "PEM-certificaten (*.pem, *.crt, *.key)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Vaste SSH-sleutels (*.key)" #~ msgid "Default" #~ msgstr "Standaard" #~ msgid "Certificates (TLS)" #~ msgstr "Certificaten (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Wachtwoord met certificaten (TLS)" #~ msgid "Static Key" #~ msgstr "Vaste sleutel" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Als een sleutelrichting wordt gebruikt, moet deze tegenovergesteld " #~ "zijn dan die van de VPN-peer. Bijvoorbeeld: als de andere machine ‘1’ " #~ "gebruikt, moet deze verbinding ‘0’ gebruiken. Neem contact op met uw " #~ "systeembeheerder als u niet weet welke waarde te gebruiken." #~ msgid "CA Certificate:" #~ msgstr "CA-certificaat:" #~ msgid "Cipher:" #~ msgstr "Codering:" #~ msgid "Key Direction:" #~ msgstr "Sleutelrichting:" #~ msgid "Private Key:" #~ msgstr "Privé-sleutel:" #~ msgid "Static Key:" #~ msgstr "Vaste sleutel:" #~ msgid "Use L_ZO data compression" #~ msgstr "_LZO-datacompressie gebruiken" #~ msgid "Use a _TCP connection" #~ msgstr "_TCP-verbinding gebruiken" #~ msgid "User Certificate:" #~ msgstr "Gebruikerscertificaat:" #~ msgid "User name:" #~ msgstr "Gebruikersnaam:" danfruehauf-NetworkManager-ssh-f65d65d/po/pa.po000066400000000000000000000476151507335542500215500ustar00rootroot00000000000000# translation of NetworkManager-ssh.HEAD.po to Punjabi # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # A S Alam , 2007, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-09-08 18:41+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "ਤà©à¨¹à¨¾à¨¨à©‚à©° ਵà©à¨°à¨šà©à¨…ਲ ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਨੈੱਟਵਰਕ (VPN) '%s' ਦੀ ਵਰਤੋਂ ਵਾਸਤੇ ਪਰਮਾਣਿਤ ਹੋਣ ਦੀ ਲੋੜ ਹੈ।" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "ਪਰਮਾਣਿਤ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "ਪਾਸਵਰਡ:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "ਪਾਸਵਰਡ(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ਸੈਕੰਡਰੀ ਪਾਸਵਰਡ(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "ਪਾਸਵਰਡ ਵੇਖੋ" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH ਸਰਵਰ ਨਾਲ ਅਨà©à¨•ੂਲ" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ਪਾਸਵਰਡ" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS ਪਰਮਾਣਕਿਤਾ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "ਲੋੜੀਦਾ ਨਹੀਂ" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH ਮਾਹਰ ਚੋਣਾਂ" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "ਕਸਟਮ ਗੇਟਵੇ ਪੋਰਟ ਵਰਤੋਂ(_o):" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "ਪਸੰਦੀਦਾ ਟਨਲ ਵੱਧੋ-ਵੱਧ ਟਰਾਂਸਮਿਸ਼ਨ ਯੂਨਿਟ ਵਰਤੋਂ(M_TU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TA_P ਜੰਤਰ ਵਰਤੋਂ" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ਪਰਾਕਸੀ ਯੂਜ਼ਰ ਨਾਂ:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "ਆਮ" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "ਆਮ" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "ਗੇਟਵੇ(_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "ਰਿਮੋਟ IP à¨à¨¡à¨°à©ˆà©±à¨¸:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "ਲੋਕਲ IP à¨à¨¡à¨°à©ˆà©±à¨¸:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "ਰਿਮੋਟ IP à¨à¨¡à¨°à©ˆà©±à¨¸:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "ਲੋਕਲ IP à¨à¨¡à¨°à©ˆà©±à¨¸:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "ਮਾਹਰ(_v)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "ਪਰਮਾਣਕਿਤਾ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "ਟਾਈਪ:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS ਪਰਮਾਣਕਿਤਾ" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "ਪਾਸਵਰਡ ਵੇਖੋ" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "ਕà©à©°à¨œà©€ ਫਾਇਲ:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "ਪਾਸਵਰਡ ਵੇਖੋ" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "VPN ਲਾਗਇਨ ਫੇਲà©à¨¹ ਹੋ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ VPN ਸੰਰਚਨਾ ਚੋਣਾਂ ਗਲਤ ਹਨ।" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "ਯੂਜ਼ਰ ਨਾਂ(_U):" #~ msgid "_Domain:" #~ msgstr "ਡੋਮੇਨ(_D):" #~ msgid "Connect _anonymously" #~ msgstr "ਅਗਿਆਤ ਵਾਂਗ ਕà©à¨¨à©ˆà¨•ਟ(_a)" #~ msgid "Connect as _user:" #~ msgstr "ਯੂਜ਼ੜ ਵਾਂਗ ਕà©à¨¨à©ˆà¨•ਟ(_u):" #~ msgid "_Remember password for this session" #~ msgstr "ਇਹ ਸ਼ੈਸ਼ਨ ਲਈ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ(_R)" #~ msgid "_Save password in keyring" #~ msgstr "ਕੀਰਿੰਗ ਵਿੱਚ ਪਾਸਵਰਡ ਸੰਭਾਲੋ(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "ਸਰਟੀਫਿਕੇਟ ਪਾਸਵਰਡ(_w):" #~ msgid "Certificate password:" #~ msgstr "ਸਰਟੀਫਿਕੇਟ ਪਾਸਵਰਡ:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "ਸਰਟੀਫਿਕੇਟ ਅਥਾਰਟੀ ਸਰਫੀਟਿਕੇਟ ਚà©à¨£à©‹à¥¤" #~ msgid "Choose your personal certificate..." #~ msgstr "ਆਪਣਾ ਨਿੱਜੀ ਸਰਟੀਫਿਕੇਟ ਚà©à¨£à©‹à¥¤" #~ msgid "Choose your private key..." #~ msgstr "ਆਪਣੀ ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਕà©à©°à¨œà©€ ਚà©à¨£à©‹..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH ਸਟੇਟਿਕ ਕà©à©°à¨œà©€ ਚà©à¨£à©‹..." #~ msgid "None" #~ msgstr "ਕੋਈ ਨਹੀਂ" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM ਜਾਂ PKCS#12 ਸਰਟੀਫਿਕੇਟ (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM ਸਰਟੀਫਿਕੇਟ (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH ਸਟੇਟਿਕ ਕà©à©°à¨œà©€à¨†à¨‚ (*.key)" #~ msgid "Default" #~ msgstr "ਡਿਫਾਲਟ" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-੨੨੪" #~ msgid "SHA-256" #~ msgstr "SHA-੨੫੬" #~ msgid "SHA-384" #~ msgstr "SHA-੩੮੪" #~ msgid "SHA-512" #~ msgstr "SHA-੫੧੨" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-੧੬੦" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "ਸਰਟੀਫਿਕੇਟ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "ਸਰਟੀਫਿਕੇਟ (TLS) ਨਾਲ ਪਾਸਵਰਡ" #~ msgid "Static Key" #~ msgstr "ਸਟੇਟਿਕ ਕà©à©°à¨œà©€" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "ਕੇਵਲ ਸਰਵਰਾਂ ਨਾਲ ਕà©à¨¨à©ˆà¨•ਟ ਕਰੋ, ਜਿਸ ਦੇ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਦਿੱਤਾ ਵਿਸ਼ਾ ਮਿਲਦਾ ਹੋਵੇ।\n" #~ "ਜਿਵੇਂ: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "ਜੇ ਕà©à©°à¨œà©€ ਦਿਸ਼ਾ ਵਰਤੀ ਗਈ ਤਾਂ ਇਹ VPN ਪੀਅਰ ਲਈ ਵਰਤੋਂ ਦੇ ਉਲਟ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਜਿਵੇਂ ਕਿ, ਜੇ " #~ "ਪੀਅਰ '1' ਵਰਤਦਾ ਹੈ ਤਾਂ ਇਹ ਕà©à¨¨à©ˆà¨•ਸ਼ਨ '0' ਵਰਤਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਤà©à¨¸à©€à¨‚ ਇਸ ਦੇ ਮà©à©±à¨² ਵਰਤਣ " #~ "ਬਾਰੇ ਯਕੀਨੀ ਨਹੀਂ ਹੋ ਤਾਂ ਆਪਣੇ ਪਰਸ਼ਾਸ਼ਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।" #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "ਇਹ ਚੋਣ ਕਰੋ, ਜੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਸੰਗਠਨ ਵਿੱਚ ਇੰਟਰਨੈੱਟ ਵਰਤਣ ਲਈ ਪਰਾਕਸੀ ਸਰਵਰ ਵਰਤਣ ਦੀ ਲੋੜ ਹੈ।" #~ msgid "CA Certificate:" #~ msgstr "CA ਸਰਟੀਫਕੇਟ:" #~ msgid "Cipher:" #~ msgstr "ਸੀਫ਼ਰ:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC ਪਰਮਾਣਕਿਤਾ:" #~ msgid "Key Direction:" #~ msgstr "ਕà©à©°à¨œà©€ ਦਿਸ਼ਾ:" #~ msgid "Port:" #~ msgstr "ਪੋਰਟ:" #~ msgid "Private Key Password:" #~ msgstr "ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਕà©à©°à¨œà©€ ਪਾਸਵਰਡ:" #~ msgid "Private Key:" #~ msgstr "ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਕà©à©°à¨œà©€:" #~ msgid "Proxies" #~ msgstr "ਪਰਾਕਸੀ" #~| msgid "Password:" #~ msgid "Proxy Password:" #~ msgstr "ਪਾਰਕਸੀ ਪਾਸਵਰਡ:" #~| msgid "Type:" #~ msgid "Proxy Type:" #~ msgstr "ਪਰਾਕਸੀ ਕਿਸਮ:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "ਪਾਬੰਦੀਸ਼à©à¨¦à¨¾ ਟਨਲ TCP ਵੱਧੋ-ਵੱਧ ਸਿਗਮੈਂਟ ਆਕਾਰ (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "ਲਗਾਤਾਰ ਕੋਸ਼ਿਸ਼ ਜਾਰੀ ਰੱਖੋ, ਜੇ ਗਲਤੀ ਆਵੇ" #~ msgid "Security" #~ msgstr "ਸà©à¨°à©±à¨–ਿਆ" #~| msgid "Remote IP Address:" #~ msgid "Server Address:" #~ msgstr "ਸਰਵਰ à¨à¨¡à¨°à©ˆà©±à¨¸:" #~ msgid "Static Key:" #~ msgstr "ਸਟੇਟਿਕ ਕà©à©°à¨œà©€:" #~ msgid "Subject Match:" #~ msgstr "ਵਿਸ਼ਾ ਮਿਲਦਾ:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO ਡਾਟਾ ਕੰਪਰੈਸ਼ਨ ਵਰਤੋਂ" #~ msgid "Use a _TCP connection" #~ msgstr "_TCP ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਵਰਤੋਂ" #~ msgid "Use additional TLS authentication" #~ msgstr "ਹੋਰ TLS ਪਰਮਾਣਕਿਤਾ ਵਰਤੋਂ" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "ਪਸੰਦੀਦਾ ਕਸਟਮ UDP ਫਰੇਗਮੈਂਟ ਸਾਈਜ਼(_f):" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ਪਸੰਦੀਦਾ ਰੀਨੈਗੋਸ਼ੀà¨à¨¸à¨¼à¨¨ ਅੰਤਰਾਲ ਵਰਤੋਂ(_r):" #~ msgid "User Certificate:" #~ msgstr "ਯੂਜ਼ਰ ਸਰਟੀਫਕੇਟ:" #~ msgid "User name:" #~ msgstr "ਯੂਜ਼ਰ ਨਾਂ:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "VPN ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਸ਼ਾਮਿਲ, ਹਟਾਓ ਜਾਂ ਸੋਧ" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਮੈਨੇਜਰ(SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "ਹੇਠ ਦਿੱਤਾ SSH ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਬਣਾਇਆ ਜਾਵੇਗਾ:" #~ msgid "Name: %s" #~ msgstr "ਨਾਂ: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਕਿਸਮ: X.509 ਸਰਟੀਫਿਕੇਟ" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "ਸਰਟੀ: %s" #~ msgid "Key: %s" #~ msgstr "ਕà©à©°à¨œà©€: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਕਿਸਮ: ਸਾਂà¨à©€ ਕà©à©°à¨œà©€" #~ msgid "Shared Key: %s" #~ msgstr "ਸਾਂà¨à©€ ਕà©à©°à¨œà©€: %s" #~ msgid "Local IP: %s" #~ msgstr "ਲੋਕਲ IP: %s" #~ msgid "Remote IP: %s" #~ msgstr "ਰਿਮੋਟ IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਕਿਸਮ: ਗà©à¨ªà¨¤-ਕੋਡ" #~ msgid "Username: %s" #~ msgstr "ਉਪਭੋਗੀ ਨਾਂ: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਕਿਸਮ: ਗà©à¨ªà¨¤-ਕੋਡ ਪਰਮਾਣਕਿਤਾ ਨਾਲ X.509" #~ msgid "Remote: %s" #~ msgstr "ਰਿਮੋਟ: %s" #~ msgid "Device: %s" #~ msgstr "ਜੰਤਰ: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "ਪà©à¨°à©‹à¨Ÿà©‹à¨•ਾਲ: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "ਰੂਟ: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "LZO ਨਪੀੜਨ ਵਰਤੋਂ: %s" #~ msgid "Yes" #~ msgstr "ਹਾਂ" #~ msgid "No" #~ msgstr "ਨਹੀਂ" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS ਪਰਮਾਣ: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਵੇਰਵੇ ਨੂੰ \"ਸੋਧ\" ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।" #~ msgid "Cannot import settings" #~ msgstr "ਸੈਟਿੰਗ ਆਯਾਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN ਸੈਟਿੰਗ ਫਾਇਲ '%s' ਗਲਤ ਡਾਟਾ ਮਿਲਿਆ ਸੀ।" #~ msgid "Select file to import" #~ msgstr "ਆਯਾਤ ਕਰਨ ਲਈ ਫਾਇਲ ਚà©à¨£à©‹" #~ msgid "Select CA to use" #~ msgstr "ਵਰਤਣ ਵਾਸਤੇ CA ਚà©à¨£à©‹" #~ msgid "Select certificate to use" #~ msgstr "ਵਰਤਣ ਵਾਸਤੇ ਸਰਟੀਫਿਕੇਟ ਚà©à¨£à©‹" #~ msgid "Select key to use" #~ msgstr "ਵਰਤਣ ਵਾਸਤੇ ਕà©à©°à¨œà©€" #~ msgid "Select shared key to use" #~ msgstr "ਵਰਤਣ ਵਾਸਤੇ ਸਾਂà¨à©€ ਕà©à©°à¨œà©€ ਵਰਤੋਂ" #~ msgid "Select TA to use" #~ msgstr "ਵਰਤਣ ਵਾਸਤੇ TA ਵਰਤੋਂ" #~ msgid "Save as..." #~ msgstr "ਇੰਠਸੰਭਾਲੋ..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "\"%s\" ਨਾਂ ਨਾਲ ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।" #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "ਕੀ ਤà©à¨¸à©€à¨‚ ਇਸ ਨੂੰ ਆਪਣੇ ਵਲੋਂ ਸੰਭਾਲੀ ਜਾਣ ਵਾਲੀ ਨਾਲ ਬਦਲਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?" #~ msgid "Failed to export configuration" #~ msgstr "ਸੰਰਚਨਾ ਨਿਰਯਾਤ ਕਰਨ ਲਈ ਫੇਲà©à¨¹" #~ msgid "Failed to save file %s" #~ msgstr "ਫਾਇਲ %s ਸੰਭਾਲਣ ਲਈ ਫੇਲà©à¨¹" #~ msgid "0" #~ msgstr "0" #~ msgid "1" #~ msgstr "1" #~ msgid "Connection Name" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਨਾਂ" #~ msgid "Optional Information" #~ msgstr "ਚੋਣਵੀਂ ਜਾਣਕਾਰੀ" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "ਜਿਵੇਂ: 172.16.0.0/16 10.11.12.0/24" #~ msgid "CA file:" #~ msgstr "CA ਫਾਇਲ:" #~ msgid "CA file:" #~ msgstr "CA ਫਾਇਲ:" #~ msgid "Connection Type:" #~ msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਕਿਸਮ:" #~ msgid "Shared key" #~ msgstr "ਸਾਂà¨à©€ ਕà©à©°à¨œà©€" #~ msgid "Use TLS auth:" #~ msgstr "TLS ਪਰਾਮਣਿਤ ਵਰਤੋਂ:" #~ msgid "Use cipher:" #~ msgstr "ਕੀਪਰ ਵਰਤੋਂ:" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "_Import Saved Configuration..." #~ msgstr "ਸੰਭਾਲੀ ਸੰਰਚਨਾ ਆਯਾਤ(_I)..." #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "ਇਹ ਸਿਰਨਾਵਿਆਂ ਲਈ ਸਿਰਫ਼ VPN ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਵਰਤੋਂ(_O)" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "VPN ਲਾਗਇਨ ਫੇਲà©à¨¹ ਹੋ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ VPN ਪà©à¨°à©‹à¨—ਰਾਮ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "VPN ਲਾਗਇਨ ਫੇਲà©à¨¹ ਹੋ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ VPN ਪà©à¨°à©‹à¨—ਰਾਮ VPN ਸਰਵਰ ਨਾਲ ਜà©à©œ ਨਹੀਂ ਸਕਿਆ।" #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "VPN ਲਾਗਇਨ ਫੇਲà©à¨¹ ਹੋ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ VPN ਪà©à¨°à©‹à¨—ਰਾਮ ਨੇ VPN ਸਰਵਰ ਤੋਂ ਗਲਤ ਸੰਰਚਨਾ ਮਿਲੀ ਹੈ।" #~ msgid "VPN connection failed" #~ msgstr "VPN ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਫੇਲà©à¨¹" danfruehauf-NetworkManager-ssh-f65d65d/po/pl.po000066400000000000000000000330421507335542500215500ustar00rootroot00000000000000# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Aviary.pl # JeÅ›li masz jakiekolwiek uwagi odnoszÄ…ce siÄ™ do tÅ‚umaczenia lub chcesz # pomóc w jego rozwijaniu i pielÄ™gnowaniu, napisz do nas: # gnomepl@aviary.pl # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- msgid "" msgstr "" "Project-Id-Version: network-manager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-08-11 21:45+0200\n" "Last-Translator: Piotr DrÄ…g \n" "Language-Team: Polish \n" "Language: pl\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==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: Poland\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Aby uzyskać dostÄ™p do wirtualnej sieci prywatnej \"%s\", należy siÄ™ " "uwierzytelnić." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Uwierzytelnianie VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "HasÅ‚o:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_HasÅ‚o:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "HasÅ‚o _dodatkowe:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "WyÅ›wi_etlanie haseÅ‚" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Zgodny z serwerem SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Zapisane" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Pytanie za każdym razem" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "HasÅ‚o" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Uwierzytelnianie TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Niewymagane" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Zaawansowane opcje SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "WÅ‚asny port bra_my:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Użycie wÅ‚asnego M_TU tunelu:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Użycie urzÄ…dzenia TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nazwa użytkownika poÅ›rednika:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Ogólne" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Ogólne" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Brama:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Zdalny adres IP:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokalny adres IP:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Zdalny adres IP:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokalny adres IP:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Zaa_wansowane..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Uwierzytelnianie" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Typ:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Uwierzytelnianie TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "WyÅ›wietlanie haseÅ‚" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Plik klucza:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "nieprawidÅ‚owy adres \"%s\"" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" "nieprawidÅ‚owa wÅ‚asność liczby caÅ‚kowitej \"%s\" lub jest poza zakresem [%d -" "> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" "nieprawidÅ‚owa wÅ‚asność zmiennej logicznej \"%s\" (nie wynosi \"yes\" lub \"no" "\")" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "nieobsÅ‚ugiwana wÅ‚asność \"%s\" typu \"%s\"" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "wÅ‚asność \"%s\" jest nieprawidÅ‚owa lub nieobsÅ‚ugiwana" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Brak opcji konfiguracji VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Nie można odnaleźć pliku binarnego ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Nie można odnaleźć pliku binarnego ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "WyÅ›wietlanie haseÅ‚" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Nieznany typ połączenia \"%s\"." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "NieprawidÅ‚owy numer portu \"%s\"." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "NieprawidÅ‚owy rozmiar TUN MTU \"%s\"." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "NieprawidÅ‚owy numer portu \"%s\"." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Brak wymaganego zdalnego adresu IP dla trybu klucza statycznego." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Brak wymaganego lokalnego adresu IP dla trybu klucza statycznego." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Brak wymaganego zdalnego adresu IP dla trybu klucza statycznego." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Brak wymaganego lokalnego adresu IP dla trybu klucza statycznego." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Nie można przetworzyć żądania, ponieważ ustawienia połączenia VPN sÄ… " "nieprawidÅ‚owe." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Nie koÅ„czy dziaÅ‚ania, kiedy połączenie VPN jest koÅ„czone" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Włącza wiÄ™cej komunikatów debugowania (może wyjawić hasÅ‚a)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-ssh-service dostarcza zintegrowanÄ… możliwość nawiÄ…zywania połączeÅ„ SSH " "dla usÅ‚ugi NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "HasÅ‚o _certyfikatu:" #~ msgid "Certificate password:" #~ msgstr "HasÅ‚o certyfikatu:" #~ msgid "Choose your personal certificate..." #~ msgstr "Wybierz certyfikat prywatny..." #~ msgid "Choose your private key..." #~ msgstr "Wybierz klucz prywatny..." #~ msgid "Not Required" #~ msgstr "Niewymagane" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Wybierz certyfikat CA..." #~ msgid "Choose an SSH static key..." #~ msgstr "Wybierz klucz statyczny SSH..." #~ msgid "None" #~ msgstr "Brak" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certyfikaty PEM lub PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certyfikaty PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Klucze statyczne SSH (*.key)" #~ msgid "Default" #~ msgstr "DomyÅ›lny" #~ msgid "RSA MD-4" #~ msgstr "RSA MD4" #~ msgid "MD-5" #~ msgstr "MD5" #~ msgid "SHA-1" #~ msgstr "SHA1" #~ msgid "SHA-224" #~ msgstr "SHA224" #~ msgid "SHA-256" #~ msgstr "SHA256" #~ msgid "SHA-384" #~ msgstr "SHA384" #~ msgid "SHA-512" #~ msgstr "SHA512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certyfikaty (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "HasÅ‚o z certyfikatami (TLS)" #~ msgid "Static Key" #~ msgstr "Klucz statyczny" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Połączenie tylko z serwerami, których certyfikaty pasujÄ… do podanego " #~ "tematu.\n" #~ "PrzykÅ‚ad: /CN=mójvpn.firma.pl" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "JeÅ›li zostanie użyty kierunek klucza, to musi być przeciwny kierunkowi " #~ "użytemu na serwerze VPN. PrzykÅ‚adowo, jeÅ›li serwer używa \"1\", te " #~ "połączenie musi użyć \"0\". W wypadku braku pewnoÅ›ci jakiej wartoÅ›ci " #~ "użyć, proszÄ™ skontaktować siÄ™ z administratorem systemu." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Należy wybrać tÄ™ opcjÄ™, jeÅ›li organizacja wymaga użycia serwera " #~ "poÅ›rednika do dostÄ™pu do Internetu." #~ msgid "CA Certificate:" #~ msgstr "Certyfikat CA:" #~ msgid "Cipher:" #~ msgstr "Szyfr:" #~ msgid "HMAC Authentication:" #~ msgstr "Uwierzytelnianie HMAC:" #~ msgid "Key Direction:" #~ msgstr "Kierunek klucza:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "HasÅ‚o klucza prywatnego:" #~ msgid "Private Key:" #~ msgstr "Klucz prywatny:" #~ msgid "Proxies" #~ msgstr "PoÅ›redniki" #~ msgid "Proxy Password:" #~ msgstr "HasÅ‚o poÅ›rednika:" #~ msgid "Proxy Type:" #~ msgstr "Typ poÅ›rednika:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Ograniczenie maksymalnego rozmiaru segmentu (MSS) tunelu TCP" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Powtarzanie w nieskoÅ„czoność, kiedy wystÄ…pi błąd" #~ msgid "Security" #~ msgstr "Zabezpieczenia" #~ msgid "Server Address:" #~ msgstr "Adres serwera:" #~ msgid "Show password" #~ msgstr "WyÅ›wietlanie hasÅ‚a" #~ msgid "Static Key:" #~ msgstr "Klucz statyczny:" #~ msgid "Subject Match:" #~ msgstr "Temat dopasowania:" #~ msgid "Use L_ZO data compression" #~ msgstr "Użycie kompresji L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Użycie połączenia _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Użycie dodatkowego uwierzytelniania TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Użycie wÅ‚asnego rozmiaru f_ragmentu UDP:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Użycie wÅ‚asnego czasu miÄ™dzy ponownymi _negocjacjami:" #~ msgid "User Certificate:" #~ msgstr "Certyfikat użytkownika:" #~ msgid "User name:" #~ msgstr "Nazwa użytkownika:" #~ msgid "No VPN secrets!" #~ msgstr "Brak haseÅ‚ VPN." #~ msgid "Invalid HMAC auth." #~ msgstr "NieprawidÅ‚owe uwierzytelnienie HMAC." #~ msgid "Invalid connection type." #~ msgstr "NieprawidÅ‚owy typ połączenia." #~ msgid "Invalid proxy type '%s'." #~ msgstr "NieprawidÅ‚owy typ poÅ›rednika \"%s\"." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "NieprawidÅ‚owe sekundy renegocjacji \"%s\"." #~ msgid "Invalid fragment size '%s'." #~ msgstr "NieprawidÅ‚owy rozmiar fragmentu \"%s\"." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Nie można przetworzyć żądania, ponieważ nie podano nazwy użytkownika." danfruehauf-NetworkManager-ssh-f65d65d/po/ps.po000066400000000000000000000230411507335542500215550ustar00rootroot00000000000000# 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 , YEAR. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh.head\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2008-08-19 09:14-0800\n" "Last-Translator: Zabeeh Khan \n" "Language-Team: Pashto \n" "Language: ps\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Pashto, Pushto\n" "X-Poedit-Country: AFGHANISTAN\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" ".اوڅاریز ÚØ§Ù†ÛŒ ÚØ§Ù„ ته د لاسرسي لپاره ÚØ§Ù† کره کړﺉ '%s' تاسو ته اړينه ده Ú†Û Ø¯" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "اوڅاریز ÚØ§Ù†ÙŠ ÚØ§Ù„ کرول" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr ":ØªÛØ±Ù†ÙˆÙŠÛ_" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr ":ØªÛØ±Ù†ÙˆÙŠÛ_" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr ":دويمه ØªÛØ±Ù†ÙˆÙŠÛ_" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "ØªÛØ±Ù†ÙˆÙŠÛ" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr ".پالنګر سره جوړ SSH" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ØªÛØ±Ù†ÙˆÙŠÛ" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "کرونه" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr ":Ø¯ÙˆØ¯ÙŠØ²Û ÙˆØ±Ù„Ø§Ø±Û Ø¯Ø±_شل کارول" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "وزله کارول TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr ":کارننوم_" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "ټوليز" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "ټوليز" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr ":_ورلار" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "...بر_یونلÛ" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "کرونه" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr ":ډول" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "کرونه کارول TLS زياتي " #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "ØªÛØ±Ù†ÙˆÙŠÛ" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr ":کيلي دوتنه" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr ":شپول_" #~ msgid "Connect _anonymously" #~ msgstr "بÛنومه Ù†ÚšÙ„ÛØ¯Ù„_" #~ msgid "Connect as _user:" #~ msgstr ":Ù„Ú©Ù‡ _کارن Ù†ÚšÙ„ÛØ¯Ù„" #~ msgid "_Remember password for this session" #~ msgstr "Ø¯Û Ù†Ø§Ø³ØªÛ Ù„Ù¾Ø§Ø±Ù‡ ØªÛØ±Ù†ÙˆÙŠÛ په ياد ساتل_" #~ msgid "_Save password in keyring" #~ msgstr "ØªÛØ±ÙˆÙ†ÙˆÛŒÙŠ Ù¾Ù‡ Ú©ÙŠÙ„Û Ø±ÛÙ†Ú« Ú©Û Ø³Ø§ØªÙ„_" #~ msgid "Certificate pass_word:" #~ msgstr "د بريليک ØªÛØ±_نويÛ:" #~ msgid "Certificate password:" #~ msgstr "د بريليک ØªÛØ±Ù†ÙˆÙŠÛ:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "د بريليک واک يو برÛليک وټاکئ..." #~ msgid "Choose your personal certificate..." #~ msgstr "خپل وګړيز برÛليک وټاکئ..." #~ msgid "Choose your private key..." #~ msgstr "خپله وګړيزه Ú©ÙŠÙ„Û ÙˆÙ¼Ø§Ú©Ø¦..." #~ msgid "Choose an SSH static key..." #~ msgstr "ولاړ Ú©ÙŠÙ„Û ÙˆÙ¼Ø§Ú©Ø¦... SSH يوه" #~ msgid "None" #~ msgstr "Ù‡ÛÚ…" #~ msgid "PEM certificates (*.pem, *.crt, *.key)" #~ msgstr "(*.pem, *.crt, *.key) بريليکونه PEM" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "(*.key) ولاړ Ú©ÙŠÙ„Û SSH" #~ msgid "Default" #~ msgstr "تلواله" #~ msgid "Certificates (TLS)" #~ msgstr "(TLS) برÛليک" #~ msgid "Password with Certificates (TLS)" #~ msgstr "(TLS) بريليکونو سره ØªÛØ±Ù†ÙˆÛŒÛ " #~ msgid "Static Key" #~ msgstr "ولاړه کيلÛ" #~ msgid "CA Certificate:" #~ msgstr ":برÛليک CA" #~ msgid "Cipher:" #~ msgstr "Ù¼Ú©ÛŒ:" #~ msgid "Key Direction:" #~ msgstr ":Ú©ÙŠÙ„Û Ù„ÙˆØ±" #~ msgid "Private Key:" #~ msgstr "وګړيزه کيلÛ:" #~ msgid "Static Key:" #~ msgstr ":ولاړه کيلÛ" #~ msgid "Use L_ZO data compression" #~ msgstr "اومتوک Ø²ÛØ±Ù†Ù‡ کارول L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Ù†ÚšÙ„ÛØ¯Ù†Ù‡ کارول _TCP" #~ msgid "User Certificate:" #~ msgstr ":کارن برÛليک" #~ msgid "User name:" #~ msgstr ":کارن نوم" #~ msgid "gtk-cancel" #~ msgstr "بندول-gtk" #~ msgid "gtk-ok" #~ msgstr "هوکÛ-gtk" #~ msgid "page 1" #~ msgstr "Û± پاڼه" #~ msgid "page 2" #~ msgstr "۲مه پاڼه" #~ msgid "page 3" #~ msgstr "۳مه پاڼه" #~ msgid "page 4" #~ msgstr "۴مه پاڼه" danfruehauf-NetworkManager-ssh-f65d65d/po/pt.po000066400000000000000000000436011507335542500215620ustar00rootroot00000000000000# NetworkManager-ssh's Portuguese translation. # Copyright © 2007, 2009 NetworkManager-ssh # This file is distributed under the same license as the NetworkManager-ssh package. # Duarte Loreto , 2007. # # Filipe Gomes , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: 2.26\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-16 21:04+0000\n" "Last-Translator: Filipe Gomes \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Tem de se autenticar para aceder à Rede Privada Virtual (VPN) '%s'." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autenticar na VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Senha:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Senha:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "S_enha Secundária:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Apresentar senha" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatível com o servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Senha" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticação TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Desnecessário" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opções Avançadas do SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Utilizar p_orta de gateway personalizada:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Utilizar Unidade Máxima de Transmissão (MTU) do _túnel personalizada:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Utilizar um dispositivo TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Utilizador da Proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Geral" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Geral" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Endereço IP Remoto:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Endereço IP Local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Endereço IP Remoto:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Endereço IP Local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vançado..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticação" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipo:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticação TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Apresentar senhas" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Ficheiro da Chave:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Apresentar senhas" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "O início de sessão VPN falhou porque as opções de configuração são inválidas." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_Utilizador:" #~ msgid "_Domain:" #~ msgstr "_Domínio:" #~ msgid "Connect _anonymously" #~ msgstr "Ligar-se _anonimamente" #~ msgid "Connect as _user:" #~ msgstr "Ligar-se como o _utilizador:" #~ msgid "_Remember password for this session" #~ msgstr "_Recordar a senha durante esta sessão" #~ msgid "_Save password in keyring" #~ msgstr "_Gravar a senha no chaveiro" #~ msgid "Certificate pass_word:" #~ msgstr "Sen_ha do Certificado:" #~ msgid "Certificate password:" #~ msgstr "Senha do certificado:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Escolha um certificado de Autoridade de Certificação..." #~ msgid "Choose your personal certificate..." #~ msgstr "Escolha o seu certificado pessoal..." #~ msgid "Choose your private key..." #~ msgstr "Escolha a sua chave privada..." #~ msgid "Choose an SSH static key..." #~ msgstr "Escolha um chave estática SSH..." #~ msgid "None" #~ msgstr "Nenhuma" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificados PEM ou PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificados PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Chaves Estáticas SSH (*.key)" #~ msgid "Default" #~ msgstr "Omissão" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificados (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Senha com Certificados (TLS)" #~ msgid "Static Key" #~ msgstr "Chave Estática" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Ligar-se apenas a servidores cujo certificado corresponda ao assunto " #~ "dado.\n" #~ "Exemplo: /CN=meuvpn.empresa.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Se a direcção de chave for utilizada, tem de ser a oposta da utilizada " #~ "no par VPN. Por exemplo, se o par utiliza '1', esta ligação deve " #~ "utilizar '0'. Se não tem a certeza de que valor utilizar, contacte o " #~ "administrador do sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Seleccione esta opção se a sua organização requer o uso de um servidor " #~ "proxy para aceder à Internet." #~ msgid "CA Certificate:" #~ msgstr "Certificado CA:" #~ msgid "Cipher:" #~ msgstr "Cifra:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticação HMAC:" #~ msgid "Key Direction:" #~ msgstr "Direcção da chave:" #~ msgid "Port:" #~ msgstr "Porta:" #~ msgid "Private Key Password:" #~ msgstr "Senha da Chave Privada:" #~ msgid "Private Key:" #~ msgstr "Chave Privada:" #~ msgid "Proxies" #~ msgstr "Proxies" #~ msgid "Proxy Password:" #~ msgstr "Senha da proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tipo de proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Restringir Tamanho Máximo de Segmento TCP do túnel (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Repetir indefinidamente quando ocorrem erros" #~ msgid "Security" #~ msgstr "Segurança" #~ msgid "Server Address:" #~ msgstr "Endereço do Servidor:" #~ msgid "Static Key:" #~ msgstr "Chave Estática:" #~ msgid "Subject Match:" #~ msgstr "Correspondência de Assunto:" #~ msgid "Use L_ZO data compression" #~ msgstr "Utilizar compressão L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Utilizar uma ligação _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Utilizar autenticação TLS adicional" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Utilizar tamanho de _fragmento UDP personalizado:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Utilizar intervalo de _renegociação personalizado:" #~ msgid "User Certificate:" #~ msgstr "Certificado do Utilizador:" #~ msgid "User name:" #~ msgstr "Nome de utilizador:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Adicionar, Remover e Editar Ligações VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Gestor de Ligações VPN (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "Serão criadas as seguintes ligações SSH:" #~ msgid "Name: %s" #~ msgstr "Nome: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Tipo de Ligação: Certificados X.509" #~ msgid "CA: %s" #~ msgstr "AC: %s" #~ msgid "Cert: %s" #~ msgstr "Cert: %s" #~ msgid "Key: %s" #~ msgstr "Chave: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Tipo de Ligação: Chave Partilhada" #~ msgid "Shared Key: %s" #~ msgstr "Chave Partilhada: %s" #~ msgid "Local IP: %s" #~ msgstr "IP Local: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP Remoto: %s" #~ msgid "Connection Type: Password" #~ msgstr "Tipo de Ligação: Senha" #~ msgid "Username: %s" #~ msgstr "Utilizador: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Tipo de Ligação: X.509 com Autenticação por Senha" #~ msgid "Remote: %s" #~ msgstr "Remoto: %s" #~ msgid "Device: %s" #~ msgstr "Dispositivo: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protocolo: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Rotas: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Utilizar Compressão LZO: %s" #~ msgid "Yes" #~ msgstr "Sim" #~ msgid "No" #~ msgstr "Não" #~ msgid "TLS auth: %s %s" #~ msgstr "Autenticação TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "" #~ "Os detalhes da ligação podem ser alterados utilizando o botão \"Editar\"." #~ msgid "Cannot import settings" #~ msgstr "Incapaz de importar as definições" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "O ficheiro de definições da VPN '%s' não contém dados válidos." #~ msgid "Select file to import" #~ msgstr "Seleccionar o ficheiro a importar" #~ msgid "Select CA to use" #~ msgstr "Seleccionar a AC a utilizar" #~ msgid "Select certificate to use" #~ msgstr "Seleccionar o certificado a utilizar" #~ msgid "Select key to use" #~ msgstr "Seleccionar a chave a utilizar" #~ msgid "Select shared key to use" #~ msgstr "Seleccionar a chave partilhada a utilizar" #~ msgid "Select TA to use" #~ msgstr "Seleccionar a TA a utilizar" #~ msgid "Save as..." #~ msgstr "Gravar como..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Já existe um ficheiro denominado \"%s\"." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Deseja substituí-lo pelo que está a gravar?" #~ msgid "Failed to export configuration" #~ msgstr "Falha ao exportar a configuração" #~ msgid "Failed to save file %s" #~ msgstr "Falha ao gravar o ficheiro %s" #~ msgid "0" #~ msgstr "0" #~ msgid "1" #~ msgstr "1" #~ msgid "Connection Name" #~ msgstr "Nome da Ligação" #~ msgid "Optional Information" #~ msgstr "Informação Opcional" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "exemplo: 172.16.0.0/16 10.11.12.0/24" #~ msgid "CA file:" #~ msgstr "Ficheiro AC:" #~ msgid "CA file:" #~ msgstr "Ficheiro AC:" #~ msgid "Connection Type:" #~ msgstr "Tipo de Ligação:" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Introduza abaixo a informação disponibilizada pelo administrador do seu " #~ "sistema. Não introduza aqui a sua senha pois essa ser-lhe-á pedida quando " #~ "se ligar." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Note que o ficheiro que importou não é um ficheiro de configuração SSH. " #~ "Peça o ficheiro ao administrador do seu sistema." #~ msgid "Remote IP:" #~ msgstr "IP Remoto:" #~ msgid "Shared key" #~ msgstr "Chave partilhada" #~ msgid "Use TLS auth:" #~ msgstr "Utilizar autenticação TLS:" #~ msgid "Use cipher:" #~ msgstr "Utilizar cifra:" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "Certificados X.509\n" #~ "Chave pré-partilhada\n" #~ "Autenticação por Senha\n" #~ "X.509 com Autenticação por Senha" #~ msgid "_Import Saved Configuration..." #~ msgstr "_Importar Configuração Gravada..." #~ msgid "" #~ "_Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "_Nome utilizado para identificar a ligação à rede privada, por. ex. \"VPN " #~ "da Universidade\" ou \"Rede da Empresa\"" #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "_Apenas utilizar ligação VPN para estes endereços" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "O início de sessão VPN falhou porque o utilizador e senha não foram " #~ "aceites ou a senha de certificado estava incorrecta." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "" #~ "O início de sessão VPN falhou porque não foi possível iniciar a aplicação " #~ "de VPN." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "O início de sessão VPN falhou porque a aplicação de VPN foi incapaz de se " #~ "ligar ao servidor de VPN." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "O início de sessão VPN falhou porque a aplicação de VPN recebeu uma " #~ "configuração inválida do servidor de VPN." #~ msgid "VPN connection failed" #~ msgstr "Falhou a ligação VPN" danfruehauf-NetworkManager-ssh-f65d65d/po/pt_BR.po000066400000000000000000000504361507335542500221510ustar00rootroot00000000000000# Brazilian Portuguese translation of NetworkManager. # Copyright (C) 2004-2007 Free Software Foundation, Inc. # This file is distributed under the same license as the NetworkManager package. # Raphael Higino , 2004-2007. # Washington Lins , 2007. # Luiz Armesto , 2007. # Henrique P Machado , 2008. # Fábio Nogueira , 2008. # Og Maciel , 2009. # Antonio Fernandes C. Neto , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: NetworkManager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-21 20:43-0300\n" "Last-Translator: Antonio Fernandes C. Neto \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Portuguese\n" "X-Poedit-Country: BRAZIL\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Você precisa se autenticar para acessar a Rede Privada Virtual \"%s\"." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autenticar VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Senha:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Senha:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Senha secundária:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "M_ostrar senhas" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatível com o servidor SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Salvo" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Perguntar sempre" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Senha" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autenticação TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Não requerido" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Opções avançadas do SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Utilizar p_orta de gateway personalizada:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Usar a unidade máxima de transferência (MTU) do _túnel personalizada:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Utilizar um dispositivo TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nome de usuário do proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Geral" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Geral" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Endereço IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Endereço IP local:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Endereço IP remoto:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Endereço IP local:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vançado..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autenticação" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tipo:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autenticação TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Mostrar senhas" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Arquivo de chave:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "endereço inválido \"%s\"" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "propriedade inteira inválida \"%s\" ou fora do intervalo [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "propriedade booleana inválida \"%s\" (não é sim ou não)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "propriedade \"%s\" sem tratamento do tipo %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "propriedade \"%s\" inválida ou não suportada" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Sem opções de configurações de VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Não foi possível encontrar o executável do ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Não foi possível encontrar o executável do ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Mostrar senhas" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Tipo de conexão desconhecida \"%s\"." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Número da porta inválida \"%s\"." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Tamanho TUN MTU inválido \"%s\"." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Número da porta inválida \"%s\"." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "" "Faltando o endereço de IP remoto necessário para o modo de chave estática." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "" "Faltando o endereço de IP local necessário para o modo de chave estática." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "" "Faltando o endereço de IP remoto necessário para o modo de chave estática." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "" "Faltando o endereço de IP local necessário para o modo de chave estática." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Não foi possível processar a requisição porque as configurações de conexão " "VPN eram inválidas." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Não sair quando terminar a conexão VPN" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Habilitar o log de depuração (pode expor senhas)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-vpnc-service fornece integração dos recursos do SSH para o NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "Sen_ha do certificado:" #~ msgid "Certificate password:" #~ msgstr "Senha do certificado:" #~ msgid "Choose your personal certificate..." #~ msgstr "Escolha seu certificado pessoal..." #~ msgid "Choose your private key..." #~ msgstr "Escolha sua chave privada..." #~ msgid "Not Required" #~ msgstr "Não requerido" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Escolha um certificado de Autoridade Certificadora..." #~ msgid "Choose an SSH static key..." #~ msgstr "Escolha uma chave estática do SSH..." #~ msgid "None" #~ msgstr "Nenhum" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificados PEM ou PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificados PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Chaves estáticas do SSH (*.key)" #~ msgid "Default" #~ msgstr "Padrão" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificados (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Senha com certificados (TLS)" #~ msgid "Static Key" #~ msgstr "Chave estática" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Conectar somente em servidores cujo certificado corresponde à " #~ "determinado assunto.\n" #~ "Exemplo: /CN=minhavpn.empresa.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Se a chave de direção é utilizada, ela tem que ser o oposto da " #~ "utilizada no par da VPN. Por exemplo: se o par utiliza '1', esta conexão " #~ "tem que utilizar '0'. Se você não tem certeza de qual valor utilizar, " #~ "entre em contato com seu administrador de sistema." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ " Selecione essa opção se sua empresa requer o uso de um servidor proxy " #~ "para acessar a internet." #~ msgid "CA Certificate:" #~ msgstr "Certificado CA:" #~ msgid "Cipher:" #~ msgstr "Cifragem:" #~ msgid "HMAC Authentication:" #~ msgstr "Autenticação HMAC:" #~ msgid "Key Direction:" #~ msgstr "Direção da chave:" #~ msgid "Port:" #~ msgstr "Porta:" #~ msgid "Private Key Password:" #~ msgstr "Senha da chave privada:" #~ msgid "Private Key:" #~ msgstr "Chave privada:" #~ msgid "Proxies" #~ msgstr "Proxies" #~ msgid "Proxy Password:" #~ msgstr "Senha do proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tipo de proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Restringir o tamanho máximo de segmento (MSS) TCP do túnel" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Repetir indefinidamente quando ocorrer erros" #~ msgid "Security" #~ msgstr "Segurança" #~ msgid "Server Address:" #~ msgstr "Endereço do servidor:" #~ msgid "Show password" #~ msgstr "Mostrar senha" #~ msgid "Static Key:" #~ msgstr "Chave estática:" #~ msgid "Subject Match:" #~ msgstr "Assunto correspondente:" #~ msgid "Use L_ZO data compression" #~ msgstr "Utilizar compressão de dados L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "Utilizar uma conexão _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Utilizar autenticação TLS adicional" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Usar tamanho de _fragmento UDP personalizado:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Usar intervalo personalizado de _renegociação:" #~ msgid "User Certificate:" #~ msgstr "Certificado de usuário:" #~ msgid "User name:" #~ msgstr "Nome de usuário:" #~ msgid "No VPN secrets!" #~ msgstr "VPN sem segredos!" #~ msgid "Invalid HMAC auth." #~ msgstr "Autenticação HMAC inválida." #~ msgid "Invalid connection type." #~ msgstr "Tipo de conexão inválida." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Tipo de proxy inválido \"%s\"." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Segundos de renegociação inválidos \"%s\"." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Tamanho do fragmento inválido \"%s\"." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Não foi possível processar a requisição porque o nome de usuário não foi " #~ "fornecido." #~ msgid "_Username:" #~ msgstr "Nome de _usuário:" #~ msgid "_Domain:" #~ msgstr "_Domínio:" #~ msgid "Connect _anonymously" #~ msgstr "Conectar _anonimamente" #~ msgid "Connect as _user:" #~ msgstr "Conectar como _usuário:" #~ msgid "_Remember password for this session" #~ msgstr "_Lembrar senha para esta sessão" #~ msgid "_Save password in keyring" #~ msgstr "_Salvar senha no chaveiro" #~ msgid "gtk-cancel" #~ msgstr "gtk-cancel" #~ msgid "gtk-ok" #~ msgstr "gtk-ok" #~ msgid "page 1" #~ msgstr "página 1" #~ msgid "page 2" #~ msgstr "página 2" #~ msgid "page 3" #~ msgstr "página 3" #~ msgid "page 4" #~ msgstr "página 4" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Adicione, remova e edite conexões VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Gerenciador de Conexões VPN (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "As seguintes conexões SSH serão criadas:" #~ msgid "Name: %s" #~ msgstr "Nome: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Tipo de Conexão: Certificados X.509" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Cert: %s" #~ msgid "Key: %s" #~ msgstr "Chave: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Tipo de Conexão: Chave Compartilhada" #~ msgid "Shared Key: %s" #~ msgstr "Chave Compartilhada: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP Remoto: %s" #~ msgid "Connection Type: Password" #~ msgstr "Tipo de Conexão: Senha" #~ msgid "Username: %s" #~ msgstr "Nome do usuário: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Tipo de Conexão: X.509 com Autenticação de Senha" #~ msgid "Remote: %s" #~ msgstr "Remoto: %s" #~ msgid "Device: %s" #~ msgstr "Dispositivo: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protocolo: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Rotas: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Usar Compressão LZO: %s" #~ msgid "Yes" #~ msgstr "Sim" #~ msgid "TLS auth: %s %s" #~ msgstr "Autenticação TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "" #~ "Os detalhes da conexão podem ser alterados usando o botão \"Editar\"." #~ msgid "Cannot import settings" #~ msgstr "Não é possível importar configurações" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "O arquivo de configurações de VPN \"%s\" não contém dados válidos." #~ msgid "Select file to import" #~ msgstr "Selecione o arquivo a importar" #~ msgid "Select CA to use" #~ msgstr "Selecione o CA a usar" #~ msgid "Select certificate to use" #~ msgstr "Selecione o certificado a usar" #~ msgid "Select key to use" #~ msgstr "Selecione a chave a usar" #~ msgid "Select shared key to use" #~ msgstr "Selecione a chave compartilhada a usar" #~ msgid "Select TA to use" #~ msgstr "Selecione TA para usar" #~ msgid "Save as..." #~ msgstr "Salvar como..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Um arquivo chamado \"%s\" já existe." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Você deseja substituí-la com aquela que você está salvando?" #~ msgid "Failed to export configuration" #~ msgstr "Falha ao exportar configuração" #~ msgid "Failed to save file %s" #~ msgstr "Falha ao salvar o arquivo %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "exemplo: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "Arquivo C_A:" #~ msgid "Connection na_me:" #~ msgstr "No_me da Conexão" #~ msgid "Import _Saved Configuration..." #~ msgstr "Importar Configurações _Salvas..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Nome usado para identificar a conexão à rede privada, por ex. \"VPN do " #~ "Campus\" ou \"Rede Corporativa\"" #~ msgid "Network" #~ msgstr "Rede" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "Usar conexões _VPN apenas para estes endereços:" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Por favor, digite abaixo as informações fornecidas pelo seu administrador " #~ "de sistema. Não digite sua senha aqui, já que ela será solicitada ao " #~ "conectar." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Por favor, observe que o arquivo que você importou não é um arquivo de " #~ "configuração SSH. Pergunte ao seu administrador pelo arquivo." #~ msgid "Shared _key:" #~ msgstr "C_have compartilhada:" #~ msgid "TLS-Auth" #~ msgstr "Autenticação-TSL" #~ msgid "Use _TLS auth:" #~ msgstr "Usar autenticação _TLS:" #~ msgid "Use cip_her:" #~ msgstr "Usar ci_fragem:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "Certificados X.509\n" #~ "Chave pré-compartilhada\n" #~ "Autenticação de Senha\n" #~ "X.509 com Autenticação de Senha" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "Endereço do _Gateway:" #~ msgid "_Key:" #~ msgstr "C_have:" #~ msgid "_Local IP:" #~ msgstr "IP _Local:" #~ msgid "_Remote IP:" #~ msgstr "IP _Remoto:" #~ msgid "_none" #~ msgstr "_nenhum" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "A autenticação VPN falhou porque o nome do usuário e a senha não foram " #~ "aceitas ou a senha do certificado estava errada." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "A autenticação VPN falhou porque o programa não pôde ser iniciado." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "A autenticação VPN falhou porque o programa VPN não pôde se conectar ao " #~ "servidor VPN." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "A autenticação VPN falhou porque o programa VPN recebeu uma configuração " #~ "inválida do servidor VPN." #~ msgid "VPN connection failed" #~ msgstr "Falha na conexão VPN" danfruehauf-NetworkManager-ssh-f65d65d/po/ro.po000066400000000000000000000301501507335542500215520ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Alexandru Palcuie , 2010. # Lucian Adrian Grijincu , 2010. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2010-11-27 14:43+0300\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Romanian Gnome Team \n" "Language: ro\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==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2);;\n" "X-Generator: Virtaal 0.6.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Trebuie să vă autentificaÈ›i pentru a accesa ReÈ›eaua privată virtuală „%sâ€." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentifică VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Parolă:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Parolă:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Parolă _secundară:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Arată parolele" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Compatibil cu serverul SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Parolă" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Autentificare TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Nu este necesar" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "OpÈ›iuni avansate SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "FoloseÈ™te un p_ort gateway personalizat:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "FoloseÈ™te un _tunel cu o Unitate de transfer maximă (MTU) personalizată:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "FoloseÈ™te un dispozitiv TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Nume utilizator proxy:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Generale" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Generale" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Adresă IP la distanță:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Adresă IP locală:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Adresă IP la distanță:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Adresă IP locală:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vansat..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentificare" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Tip:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Autentificare TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Arată parolele" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "FiÈ™ier cheie:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Arată parolele" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "Nume _utilizator:" #~ msgid "_Domain:" #~ msgstr "_Domeniu:" #~ msgid "Connect _anonymously" #~ msgstr "Conectare _anonimă" #~ msgid "Connect as _user:" #~ msgstr "Conectare ca _utilizator:" #~ msgid "_Remember password for this session" #~ msgstr "_ReÈ›ine parola pentru această sesiune" #~ msgid "_Save password in keyring" #~ msgstr "_Salvează parola în inelul de chei" #~ msgid "Certificate pass_word:" #~ msgstr "Paro_la certificatului:" #~ msgid "Certificate password:" #~ msgstr "Parola certificatului:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "AlegeÈ›i certificatul Autorității de certificare..." #~ msgid "Choose your personal certificate..." #~ msgstr "AlegeÈ›i certificatul personal..." #~ msgid "Choose your private key..." #~ msgstr "AlegeÈ›i cheia privată..." #~ msgid "Choose an SSH static key..." #~ msgstr "AlegeÈ›i o cheie statică SSH..." #~ msgid "None" #~ msgstr "Niciuna" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Certificate PEM sau PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Certificate PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Chei statice SSH (*.key)" #~ msgid "Default" #~ msgstr "Implicit" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certificate (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Parolă cu certificate (TLS)" #~ msgid "Static Key" #~ msgstr "Cheie statică" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Se conectează doar la serverele ale căror certificate se potrivesc cu " #~ "subiectul dat.\n" #~ "Exemplu: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Dacă a fost utilizată o direcÈ›ie cheie, aceasta trebuie să fie opusă " #~ "celei utilizate de celălalt capăt VPN. De exemplu, dacă celălalt capăt " #~ "foloseÈ™te „1â€, conexiunea aceasta trebuie să folosească „0â€. Dacă sunteÈ›i " #~ "nesigur de valoarea care trebuie folosită, contactaÈ›i administratorul de " #~ "sistem." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "SelectaÈ›i această opÈ›iune dacă organizaÈ›ia dumneavoastră vă impune să " #~ "accesaÈ›i Internetul printr-un server proxy." #~ msgid "CA Certificate:" #~ msgstr "Certificat CA:" #~ msgid "Cipher:" #~ msgstr "Cifru:" #~ msgid "HMAC Authentication:" #~ msgstr "Autentificare HMAC:" #~ msgid "Key Direction:" #~ msgstr "DirecÈ›ie cheie:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Parolă cheie privată:" #~ msgid "Private Key:" #~ msgstr "Cheie privată:" #~ msgid "Proxies" #~ msgstr "Proxy-uri" #~ msgid "Proxy Password:" #~ msgstr "Parolă proxy:" #~ msgid "Proxy Type:" #~ msgstr "Tip proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "" #~ "RestricÈ›ionează dimensiunea maximă de segment pentru tunelare TCP (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Reîncearcă pe termen nelimitat când se produc erori" #~ msgid "Security" #~ msgstr "Securitate" #~ msgid "Server Address:" #~ msgstr "Adresă server:" #~ msgid "Static Key:" #~ msgstr "Cheie statică:" #~ msgid "Subject Match:" #~ msgstr "Potrivire subiect:" #~ msgid "Use L_ZO data compression" #~ msgstr "FoloseÈ™te compresia de date L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "FoloseÈ™te o conexiune _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "FoloseÈ™te o conexiune TLS suplimentară" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "FoloseÈ™te o mărime de _fragment UDP personalizată:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "FoloseÈ™te un interval de _renegociere personalizat:" #~ msgid "User Certificate:" #~ msgstr "Certificat utilizator:" #~ msgid "User name:" #~ msgstr "Nume utilizator:" danfruehauf-NetworkManager-ssh-f65d65d/po/ru.po000066400000000000000000000426301507335542500215660ustar00rootroot00000000000000# translation of network-manager-ssh.master.ru.po to Russian # Russian translation of NetworkManager ssh # Copyright (C) Free Software Foundation, 2005 # This file is distributed under the same license as the NetworkManager package. # # Maxim Dziumanenko , 2005-2007. # Leonid Kanter , 2007, 2008. # Ðртём Попов , 2009. # Yuri Kozlov , 2010, 2011. # Olesya Gerasimenko , 2023. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh trunk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2023-10-23 10:59+0300\n" "Last-Translator: Olesya Gerasimenko \n" "Language-Team: Basealt Translation Team\n" "Language: ru\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: Lokalize 23.04.3\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Ð”Ð»Ñ Ð´Ð¾Ñтупа к виртуальной чаÑтной Ñети «%s» требуетÑÑ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Пароль:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" "Ðе удалоÑÑŒ найти переменную Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Â«%s».\n" "\n" "Запущен ли ssh-agent?" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Пароль:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Вторичный пароль:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "По_казать пароли" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" "Выбрано не иÑпользовать «root» в качеÑтве имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÑоединениÑ.\n" "\n" "УбедитеÑÑŒ, что указанному пользователю разрешено открывать уÑтройÑтва tun/tap" " на удалённом узле." #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "СовмеÑтим Ñ Ñервером SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Сохранённый" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Ð’Ñегда Ñпрашивать" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "Ðгент SSH" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Пароль" #: ../properties/nm-ssh.c:646 msgid "Key Authentication" msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾ ключу" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ðе требуетÑÑ" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Дополнительные параметры SSH" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "ИÑпользовать неÑтандартный порт шлюза:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "ИÑпользовать неÑтандартный макÑимальный передаваемый блок данных (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "Дополнительные параметры SSH:" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "Ðомер удалённого уÑтройÑтва:" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "ИÑпользовать уÑтройÑтво TAP" #: ../properties/nm-ssh-dialog.ui.h:9 msgid "Remote username:" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÑоединениÑ:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "Ðе заменÑть маршрут по умолчанию" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Общие" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Общие" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "Шлюз:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "Параметры Ñети" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Удалённый IP-адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Локальный IP-адреÑ:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "МаÑка Ñети:" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "Параметры Ñети IPv6" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "ИÑпользовать IPv6" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "Удалённый IP-Ð°Ð´Ñ€ÐµÑ (IPv6)::" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "Локальный IP-Ð°Ð´Ñ€ÐµÑ (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "ÐŸÑ€ÐµÑ„Ð¸ÐºÑ (IPv6):" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "Дополнительно…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "ÐутентификациÑ" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Тип:" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "Выберите режим аутентификации." #: ../properties/nm-ssh-dialog.ui.h:28 msgid "Show Passwords" msgstr "Показать пароли" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "Файл ключа SSH:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "некорректный Ð°Ð´Ñ€ÐµÑ Â«%s»" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" "«%s» некорректно Ð´Ð»Ñ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленного ÑвойÑтва или вне диапазона [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "«%s» некорректно Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого ÑвойÑтва (не «да» или «нет»)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "ÑвойÑтво «%s» имеет необрабатываемый тип %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "ÑвойÑтво «%s» некорректно или не поддерживаетÑÑ" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Ðет параметров наÑтройки VPN." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Ðе удалоÑÑŒ найти иÑполнÑемый файл ssh." #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "Ðе удалоÑÑŒ найти иÑполнÑемый файл sshpass." #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "Пароль не указан." #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "Выбрана Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾ ключу, но не указан файл ключа." #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "ОтÑутÑтвует Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ SSH_AUTH_SOCK." #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "ÐеизвеÑтный тип аутентификации: %s." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "Укажите удалённый адреÑ." #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Ðекорректный номер порта «%s»." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Ðекорректный размер TUN MTU «%s»." #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Ðекорректный номер уÑтройÑтва TUN/TAP «%s»." #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "ОтÑутÑтвует необходимый удалённый IP-адреÑ." #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "ОтÑутÑтвует необходимый локальный IP-адреÑ." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "ОтÑутÑтвует Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð¼Ð°Ñка Ñети." #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "ОтÑутÑтвует необходимый удалённый IP-Ð°Ð´Ñ€ÐµÑ IPv6." #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "ОтÑутÑтвует необходимый локальный IP-Ð°Ð´Ñ€ÐµÑ IPv6." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "ОтÑутÑтвует Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð¼Ð°Ñка Ñети IPv6." #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Ðе удалоÑÑŒ обработать запроÑ, так как наÑтройки Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ VPN некорректны." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Ðе завершать работу при отключении VPN" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Включить подробный режим отладки (могут отображатьÑÑ Ð¿Ð°Ñ€Ð¾Ð»Ð¸)" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "nm-ssh-service позволÑет иÑпользовать SSH в NetworkManager." #~ msgid "_Username:" #~ msgstr "_Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:" #~ msgid "_Domain:" #~ msgstr "_Домен:" #~ msgid "Connect _anonymously" #~ msgstr "ПодключатьÑÑ _анонимно" #~ msgid "Connect as _user:" #~ msgstr "_ПодключатьÑÑ ÐºÐ°Ðº пользователь:" #~ msgid "_Remember password for this session" #~ msgstr "_Запомнить пароль Ð´Ð»Ñ Ñтого ÑеанÑа" #~ msgid "_Save password in keyring" #~ msgstr "_Сохранить пароль на брелоке" #~ msgid "Certificate pass_word:" #~ msgstr "Па_роль к Ñертификату:" #~ msgid "Certificate password:" #~ msgstr "Пароль к Ñертификату:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Выберите Ñертификат центра Ñертификации…" #~ msgid "Choose your personal certificate..." #~ msgstr "Выберите Ñвой перÑональный Ñертификат…" #~ msgid "Choose your private key..." #~ msgstr "Выберите Ñвой личный ключ…" #~ msgid "Choose an SSH static key..." #~ msgstr "Выберите ÑтатичеÑкий ключ SSH…" #~ msgid "None" #~ msgstr "Ðет" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Сертификаты PEM или PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Сертификаты PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "СтатичеÑкие ключи SSH (*.key)" #~ msgid "Default" #~ msgstr "По умолчанию" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Сертификаты (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Пароль Ñ Ñертификатами (TLS)" #~ msgid "Static Key" #~ msgstr "СтатичеÑкий ключ" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "ПодключатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к Ñерверам, чьи Ñертификаты Ñовпадают Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ " #~ "объектом.\n" #~ "Пример: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "ЕÑли иÑпользуетÑÑ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ ключа, оно должно быть противоположно " #~ "направлению, которое иÑпользует Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñторона. Ðапример, еÑли Ð²Ñ‚Ð¾Ñ€Ð°Ñ " #~ "Ñторона иÑпользует «1», Ñто Ñоединение должно иÑпользовать «0». ЕÑли вы " #~ "не уверены, какое значение иÑпользовать, ÑвÑжитеÑÑŒ Ñ ÑиÑтемным " #~ "админиÑтратором." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Выберите Ñтот параметр, еÑли в вашей организации требуетÑÑ " #~ "иÑпользовать прокÑи-Ñервер Ð´Ð»Ñ Ð´Ð¾Ñтупа к Интернет." #~ msgid "CA Certificate:" #~ msgstr "Сертификат ЦС:" #~ msgid "Cipher:" #~ msgstr "Шифр:" #~ msgid "HMAC Authentication:" #~ msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ HMAC:" #~ msgid "Key Direction:" #~ msgstr "Ðаправление ключа:" #~ msgid "Port:" #~ msgstr "Порт:" #~ msgid "Private Key Password:" #~ msgstr "Пароль к личному ключу:" #~ msgid "Private Key:" #~ msgstr "Личный ключ:" #~ msgid "Proxies" #~ msgstr "ПрокÑи" #~ msgid "Proxy Password:" #~ msgstr "Пароль к прокÑи:" #~ msgid "Proxy Type:" #~ msgstr "Тип прокÑи:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Ограничить макÑимальный размер Ñегмента TCP (MSS) туннелÑ" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "ПовторÑть беÑконечно при ошибках" #~ msgid "Security" #~ msgstr "БезопаÑноÑть" #~ msgid "Server Address:" #~ msgstr "ÐÐ´Ñ€ÐµÑ Ñервера:" #~ msgid "Static Key:" #~ msgstr "СтатичеÑкий ключ:" #~ msgid "Subject Match:" #~ msgstr "Объект ÑовпадениÑ:" #~ msgid "Use L_ZO data compression" #~ msgstr "ИÑпользовать Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñжатие L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "ИÑпользовать Ñоединение _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "ИÑпользовать дополнительную аутентификацию TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "ИÑпользовать неÑтандартный размер _фрагмента UDP:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ИÑпользовать неÑтандартный интервал _переÑоглаÑованиÑ:" #~ msgid "User Certificate:" #~ msgstr "Сертификат пользователÑ:" #~ msgid "User name:" #~ msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:" #~ msgid "No VPN secrets!" #~ msgstr "Ðет VPN-ключей!" #~ msgid "Invalid HMAC auth." #~ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ HMAC." #~ msgid "Invalid connection type." #~ msgstr "Ðекорректный тип подключениÑ." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Ðекорректный тип прокÑи «%s»." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Ðекорректное чиÑло Ñекунд «%s» Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑоглаÑованиÑ." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Ðекорректный размер фрагмента «%s»." #~ msgid "Could not process the request because no username was provided." #~ msgstr "Ðе удалоÑÑŒ обработать запроÑ, так как не указано Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ." danfruehauf-NetworkManager-ssh-f65d65d/po/sk.po000066400000000000000000000230241507335542500215510ustar00rootroot00000000000000# Slovak translations for NetworkManager package. # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the NetworkManager package. # Marcel Telka , 2004, 2005, 2006. # # $Id: sk.po,v 1.1 2006/06/17 20:55:49 marcel Exp $ # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2006-06-17 22:54+0200\n" "Last-Translator: Marcel Telka \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 #, fuzzy msgid "Authenticate VPN" msgstr "Overenie totožnosti:" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_Heslo:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_Heslo:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundárne heslo:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Heslo:" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "SSH klient" #: ../properties/nm-ssh.c:633 #, fuzzy msgid "Password" msgstr "Heslo:" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Overenie totožnosti:" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Meno používateľa:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "Vzdialené IP: %s" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "Miestne IP: %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Heslo:" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "Meno po_užívateľa:" #~ msgid "_Domain:" #~ msgstr "_Doména:" #~ msgid "Connect _anonymously" #~ msgstr "PripojiÅ¥ sa _anonymne" #~ msgid "Connect as _user:" #~ msgstr "PripojiÅ¥ sa ako po_užívateľ:" #~ msgid "_Remember password for this session" #~ msgstr "_ZapamätaÅ¥ si heslo pre toto sedenie" #~ msgid "_Save password in keyring" #~ msgstr "_UložiÅ¥ heslo na zväzok kľúÄov" #~ msgid "Certificate password:" #~ msgstr "Heslo certifikátu:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "PridaÅ¥, odstrániÅ¥ a upraviÅ¥ VPN spojenia" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "Manažér spojenia VPN (SSH)" #, fuzzy #~ msgid "The following SSH connection will be created:" #~ msgstr "Vyberte si, ktorý typ VPN spojenia chcete vytvoriÅ¥." #~ msgid "Name: %s" #~ msgstr "Meno: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Typ spojenia: X.509 certifikáty" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Cert: %s" #~ msgid "Key: %s" #~ msgstr "KľúÄ: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Typ spojenia: Zdieľaný kľúÄ" #~ msgid "Shared Key: %s" #~ msgstr "Zdieľaný kľúÄ: %s" #~ msgid "Connection Type: Password" #~ msgstr "Typ spojenia: Heslo" #~ msgid "Username: %s" #~ msgstr "Meno používateľa: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Typ spojenia: X.509 s overením totožnosti heslom" #~ msgid "Remote: %s" #~ msgstr "Vzdialené: %s" #~ msgid "Device: %s" #~ msgstr "Zariadenie: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protokol: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Use LZO Compression: %s" #~ msgstr "PoužiÅ¥ kompresiu LZO: %s" #~ msgid "Yes" #~ msgstr "Ãno" #~ msgid "No" #~ msgstr "Nie" #~ msgid "Cipher: %s" #~ msgstr "Å ifra: %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Podrobnosti spojenia je možné zmeniÅ¥ pomocou tlaÄidla \"UpraviÅ¥\"." #~ msgid "Cannot import settings" #~ msgstr "Nepodarilo sa naimportovaÅ¥ nastavenia" #, fuzzy #~ msgid "Optional Information" #~ msgstr "Informácie o spojení" #, fuzzy #~ msgid "Connection Type:" #~ msgstr "PripojiÅ¥ k:" #~ msgid "Key:" #~ msgstr "KľúÄ:" #, fuzzy #~ msgid "Shared Key:" #~ msgstr "Zdieľaný kľúÄ" #, fuzzy #~ msgid "Shared key" #~ msgstr "Zdieľaný kľúÄ" #, fuzzy #~ msgid "Use TCP connection" #~ msgstr "VPN spojenia" #~ msgid "none" #~ msgstr "niÄ" #~ msgid "VPN connection failed" #~ msgstr "VPN spojenie zlyhalo" danfruehauf-NetworkManager-ssh-f65d65d/po/sl.po000066400000000000000000000334111507335542500215530ustar00rootroot00000000000000# Slovenian translations for network-manager-ssh. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager-ssh package. # # Matic Žgur , 2007. # Matej UrbanÄiÄ , 2009 - 2011. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-07-14 08:13+0100\n" "Last-Translator: Matej UrbanÄiÄ \n" "Language-Team: Slovenian GNOME Translation Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "%100==4 ? 3 : 0);\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: utf-8\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Dostop do navideznega zasebnega omrežja '%s' zahteva overitev." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Overi VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Geslo:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Geslo:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Drugotno geslo:" #: ../auth-dialog/vpn-password-dialog.c:240 msgid "Sh_ow passwords" msgstr "_Pokaži gesla" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Združljivo s strežnikom SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "Shranjeno" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "Vedno vpraÅ¡aj" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Geslo" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Overitev TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ni zahtevano" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Napredne SSH možnosti" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Uporabi _vrata prehoda po meri:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Uporabi enoto najveÄjega prenosa tuneliranja (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Uporabi napravo _TAP" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "UporabniÅ¡ko ime posredniÅ¡kega strežnika:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "SploÅ¡no" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "SploÅ¡no" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Prehod:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Oddaljeni naslov IP:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Krajevni naslov IP:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Oddaljeni naslov IP:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Krajevni naslov IP:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Napredno ..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Overitev" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Vrsta:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "Overitev TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Pokaži gesla" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Datoteka kljuÄa:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "neveljaven naslov '%s'" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" "neveljavna lastnost celega Å¡tevila '%s', ki je izven obmoÄja [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "neveljavna logiÄna lastnost '%s' (ni vrednost da oziroma ne)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "neupravljana lastnost '%s' vrste %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "lastnost '%s' ni veljavna ali pa ni podprta" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Ni možnosti nastavitev VPN" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Programa openconnect ni mogoÄe najti" #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Programa openconnect ni mogoÄe najti" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Pokaži gesla" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Neznana vrsta povezave '%s'." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Neveljavna Å¡tevilka vrat '%s'." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Neveljavna velikost TUN MTU '%s'." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Neveljavna Å¡tevilka vrat '%s'." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Manjka zahtevan oddaljen naslov IP za statiÄni naÄin kljuÄa." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Manjka zahtevan naslov IP za statiÄni naÄin kljuÄa." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Manjka zahtevan oddaljen naslov IP za statiÄni naÄin kljuÄa." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Manjka zahtevan naslov IP za statiÄni naÄin kljuÄa." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "Zahteve ni mogoÄe izvesti, ker so nastavitve povezave VPN neveljavne." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Ne konÄaj, ko se povezava VPN zaustavi" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "OmogoÄi podrobno beleženje razhroÅ¡Äevanja (lahko razkrije gesla)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "Storitev nm-vpnc-service omoboÄa podporo SSH znotraj programa NetworkManager." #~ msgid "Certificate pass_word:" #~ msgstr "G_eslo potrdila:" #~ msgid "Certificate password:" #~ msgstr "Geslo potrdila:" #~ msgid "Choose your personal certificate..." #~ msgstr "Izbor osebnega potrdila ..." #~ msgid "Choose your private key..." #~ msgstr "Izbor osebnega kljuÄa ..." #~ msgid "Not Required" #~ msgstr "Ni zahtevano" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Izbor pooblastitelja potrdila ..." #~ msgid "Choose an SSH static key..." #~ msgstr "Izbor SSH stalnega kljuÄa ..." #~ msgid "None" #~ msgstr "Brez" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM ali PKCS#12 potrdila (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Potrdila PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Stalni kljuÄi SSH (*.key)" #~ msgid "Default" #~ msgstr "Privzeto" #~ msgid "RSA MD-4" #~ msgstr "RSA MD-4" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Potrdila (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Geslo s potrdilom (TLS)" #~ msgid "Static Key" #~ msgstr "Stalni kljuÄ" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Povezavo je varno ustvariti le s strežniki, katerih potrdila se " #~ "skladajo s predmetom.\n" #~ "Primer: /CN=mojevpn.podjetje.si" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "V primeru, da je uporabljena doloÄena smer kljuÄa, mora biti ta " #~ "doloÄena nasprotno, kot je doloÄena pri drugem odjemalcu na VPN povezavi. " #~ "Primer: kadar odjemalec izbere vrednost '1', mora bit ta povezava " #~ "doloÄena z vrednostjo '0'. V kolikor niste prepriÄani, katero vrednost " #~ "uporabiti, stopite v stik s skrbnikom." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Možnost je treba izbrati, Äe je za dostop do medmrežja zahtevana " #~ "uporaba posredniÅ¡kega strežnika." #~ msgid "CA Certificate:" #~ msgstr "Potrdilo CA:" #~ msgid "Cipher:" #~ msgstr "Å ifra:" #~ msgid "HMAC Authentication:" #~ msgstr "Overitev HMAC:" #~ msgid "Key Direction:" #~ msgstr "Smer kljuÄa:" #~ msgid "Port:" #~ msgstr "Vrata:" #~ msgid "Private Key Password:" #~ msgstr "Geslo osebnega kljuÄa:" #~ msgid "Private Key:" #~ msgstr "Osebni kljuÄ:" #~ msgid "Proxies" #~ msgstr "PosredniÅ¡ki strežniki" #~ msgid "Proxy Password:" #~ msgstr "Geslo posredniÅ¡kega strežnika:" #~ msgid "Proxy Type:" #~ msgstr "Vrsta posredniÅ¡kega strežnika:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Omeji velikost paketa TCP tuneliranja (MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Ob napakah poskuÅ¡aj dejanje ponoviti v nedogled" #~ msgid "Security" #~ msgstr "Varnost" #~ msgid "Server Address:" #~ msgstr "Naslov strežnika:" #~ msgid "Show password" #~ msgstr "Pokaži geslo" #~ msgid "Static Key:" #~ msgstr "Stalni kljuÄ:" #~ msgid "Subject Match:" #~ msgstr "Skladnja predmeta:" #~ msgid "Use L_ZO data compression" #~ msgstr "Uporabi _LZO stiskanje" #~ msgid "Use a _TCP connection" #~ msgstr "Uporabi povezavo _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Uporabi dodatno TLS overjanje" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Uporabi velikost paketov UDP po meri:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Uporabi Äasovni razmik _pogajanja po meri:" #~ msgid "User Certificate:" #~ msgstr "UporabniÅ¡ko potrdilo:" #~ msgid "User name:" #~ msgstr "UporabniÅ¡ko ime:" #~ msgid "No VPN secrets!" #~ msgstr "Ni skrivnih podatkov VPN!" #~ msgid "Invalid HMAC auth." #~ msgstr "Neveljavna overitev HMAC." #~ msgid "Invalid connection type." #~ msgstr "Neveljavna vrsta povezave" #~ msgid "Invalid proxy type '%s'." #~ msgstr "Neveljavna vrsta posredniÅ¡kega strežnika '%s'." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Neveljavna Äasovna vrednost obnovitve '%s'." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Neveljavna velikost delÄkov '%s'." #~ msgid "Could not process the request because no username was provided." #~ msgstr "Zahteve ni mogoÄe izvesti, ker ni ponujenega uporabniÅ¡kega imena." #~ msgid "_Username:" #~ msgstr "_UporabniÅ¡ko ime:" #~ msgid "_Domain:" #~ msgstr "_Domena:" #~ msgid "Connect _anonymously" #~ msgstr "Poveži se _brezimno" #~ msgid "Connect as _user:" #~ msgstr "Poveži se kot _uporabnik:" #~ msgid "_Remember password for this session" #~ msgstr "_Zapomni si geslo za to sejo" #~ msgid "_Save password in keyring" #~ msgstr "Shrani geslo v _zbirko kljuÄev" danfruehauf-NetworkManager-ssh-f65d65d/po/sv.po000066400000000000000000000562451507335542500215770ustar00rootroot00000000000000# Swedish messages for NetworkManager ssh. # Copyright (C) 2004-2011 Free Software Foundation, Inc. # Christian Rose , 2004, 2005, 2006. # Daniel Nylander , 2006, 2007, 2008, 2009, 2010, 2011. # # $Id: sv.po,v 1.6 2006/12/10 18:35:50 dnylande Exp $ # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-04-09 10:35+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Du mÃ¥sta autentisera för att komma Ã¥t VPN-nätverket \"%s\"." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Autentisera VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Lösenord:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Lösenord:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Sekundärt lösenord:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Visa lösenord" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "Kompatibel med SSH-servern." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Lösenord" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS-autentisering" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Krävs inte" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Avancerade alternativ för SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Använd anpassad gatewayp_ort:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "Använd anpassad Maximum Transmission Unit (MTU) för _tunneln:" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Använd en TA_P-enhet" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "Ã…sidosätt användarnamn" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Allmänt" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Allmänt" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Gateway:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Fjärr-IP-adress:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Lokal IP-adress:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Fjärr-IP-adress:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Lokal IP-adress:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "A_vancerat..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Autentisering" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Typ:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS-autentisering" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Visa lösenord" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Nyckelfil:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "ogiltig adress \"%s\"" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "ogiltig heltalsegenskap \"%s\" eller utanför intervallet [%d -> %d]" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "ogiltig boolesk egenskap \"%s\" (inte yes eller no)" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "ohantera egenskap \"%s\" typ %s" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "egenskapen \"%s\" är ogiltig eller stöds inte" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "Inga VPN-konfigurationsalterntiv." #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "Kunde inte hitta binärfilen ssh." #: ../src/nm-ssh-service.c:1035 #, fuzzy msgid "Could not find the sshpass binary." msgstr "Kunde inte hitta binärfilen ssh." #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Visa lösenord" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, fuzzy, c-format msgid "Unknown authentication type: %s." msgstr "Okänd anslutningstyp \"%s\"." #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "Ogiltigt portnummer \"%s\"." #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "Ogiltig TUN MTU-storlek \"%s\"." #: ../src/nm-ssh-service.c:1248 #, fuzzy, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "Ogiltigt portnummer \"%s\"." #: ../src/nm-ssh-service.c:1267 #, fuzzy msgid "Missing required remote IP address." msgstr "Saknar nödvändig fjärr-IP-adress för statiskt nyckelläge." #: ../src/nm-ssh-service.c:1281 #, fuzzy msgid "Missing required local IP address." msgstr "Saknar nödvändig lokal IP-adress för statiskt nyckelläge." #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 #, fuzzy msgid "Missing required IPv6 remote IP address." msgstr "Saknar nödvändig fjärr-IP-adress för statiskt nyckelläge." #: ../src/nm-ssh-service.c:1331 #, fuzzy msgid "Missing required IPv6 local IP address." msgstr "Saknar nödvändig lokal IP-adress för statiskt nyckelläge." #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" "Kunde inte behandla begäran eftersom inställningar i VPN-konfigurationen var " "ogiltiga." #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "Avsluta inte när VPN-anslutningen termineras" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "Aktivera informativ felsökningsloggning (kan exponera lösenord)" #: ../src/nm-ssh-service.c:1725 #, fuzzy msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" "nm-vpnc-service tillhandahÃ¥ller integrerade SSH-förmÃ¥gor till " "Nätverkshanterare." #~ msgid "_Username:" #~ msgstr "_Användarnamn:" #~ msgid "_Domain:" #~ msgstr "_Domän:" #~ msgid "Connect _anonymously" #~ msgstr "Anslut anon_ymt" #~ msgid "Connect as _user:" #~ msgstr "Anslut som _användare:" #~ msgid "_Remember password for this session" #~ msgstr "_Kom ihÃ¥g lösenordet för denna session" #~ msgid "_Save password in keyring" #~ msgstr "_Spara lösenordet i nyckelring" #~ msgid "Certificate pass_word:" #~ msgstr "Certifikatlöse_nord:" #~ msgid "Certificate password:" #~ msgstr "Certifikatlösenord:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Välj ett CA-certifikat (Certifikatutfärdare)..." #~ msgid "Choose your personal certificate..." #~ msgstr "Välj ditt personliga certifikat..." #~ msgid "Choose your private key..." #~ msgstr "Välj din privata nyckel..." #~ msgid "Choose an SSH static key..." #~ msgstr "Välj en statisk SSH-nyckel..." #~ msgid "None" #~ msgstr "Ingen" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM eller PKCS#12-certifikat (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM-certifikat (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Statiska SSH-nycklar (*.key)" #~ msgid "Default" #~ msgstr "Standard" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Certifikat (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Lösenord med certifikat (TLS)" #~ msgid "Static Key" #~ msgstr "Statisk nyckel" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "Anslut endast till servrar vars certifikat matchar angiven " #~ "information.\n" #~ "Exempel: /CN=mittvpn.företag.se" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Om nyckelriktning används sÃ¥ mÃ¥ste den vara motsatsen till den som " #~ "används pÃ¥ VPN-parten. Till exempel om parten använder \"1\" mÃ¥ste denna " #~ "anslutning vara \"0\". Om du är osäker vilket värde du ska använda kan " #~ "du kontakta din systemadministratör." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Välj detta alternativ om din organisation kräver att en proxyserver " #~ "används för att komma Ã¥t Internet." #~ msgid "CA Certificate:" #~ msgstr "CA-certifikat:" #~ msgid "Cipher:" #~ msgstr "Skiffer:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC-autentisering:" #~ msgid "Key Direction:" #~ msgstr "Nyckelriktning:" #~ msgid "Port:" #~ msgstr "Port:" #~ msgid "Private Key Password:" #~ msgstr "Lösenord för privat nyckel:" #~ msgid "Private Key:" #~ msgstr "Privat nyckel:" #~ msgid "Proxies" #~ msgstr "Proxyservrar" #~ msgid "Proxy Password:" #~ msgstr "Lösenord för proxy:" #~ msgid "Proxy Type:" #~ msgstr "Proxytyp:" #~ msgid "Proxy Username:" #~ msgstr "Användarnamn för proxy:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Begränsa TCP Maximum Segment Size (MSS) för tunneln" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Försök om och om igen när fel uppstÃ¥r" #~ msgid "Security" #~ msgstr "Säkerhet" #~ msgid "Server Address:" #~ msgstr "Serveradress:" #~ msgid "Static Key:" #~ msgstr "Statisk nyckel:" #~ msgid "Subject Match:" #~ msgstr "Matcha följande:" #~ msgid "Use L_ZO data compression" #~ msgstr "Använd L_ZO-datakomprimering" #~ msgid "Use a _TCP connection" #~ msgstr "Använd en _TCP-anslutning" #~ msgid "Use additional TLS authentication" #~ msgstr "Använd ytterligare TLS-autentisering" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "Använd anpassad storlek pÃ¥ UDP-_fragment:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "Använd anpassat intervall för _omförhandling:" #~ msgid "User Certificate:" #~ msgstr "Användarcertifikat:" #~ msgid "User name:" #~ msgstr "Användarnamn:" #~ msgid "No VPN secrets!" #~ msgstr "Inga VPN-hemligheter!" #~ msgid "Invalid HMAC auth." #~ msgstr "Ogiltig HMAC-autentisering." #~ msgid "Invalid connection type." #~ msgstr "Ogiltig anslutningstyp." #~ msgid "Invalid proxy type '%s'." #~ msgstr "Ogiltig proxytyp \"%s\"." #~ msgid "Invalid reneg seconds '%s'." #~ msgstr "Ogiltigt antal sekunder för omförhandling \"%s\"." #~ msgid "Invalid fragment size '%s'." #~ msgstr "Ogiltig fragmenteringsstorlek \"%s\"." #~ msgid "Could not process the request because no username was provided." #~ msgstr "" #~ "Kunde inte behandla begäran därför att inget användarnamn tillhandahölls." #~ msgid "Certificate Password:" #~ msgstr "Certifikatlösenord:" #~ msgid "Select A File" #~ msgstr "Välj en fil" #~ msgid "gtk-cancel" #~ msgstr "Avbryt" #~ msgid "gtk-ok" #~ msgstr "OK" #~ msgid "page 1" #~ msgstr "sida 1" #~ msgid "page 2" #~ msgstr "sida 2" #~ msgid "page 3" #~ msgstr "sida 3" #~ msgid "page 4" #~ msgstr "sida 4" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "Lägg till, ta bort och redigera VPN-anslutningar" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN-anslutningshanterare (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "Följande SSH-anslutning kommer att skapas:" #~ msgid "Name: %s" #~ msgstr "Namn: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Anslutningstyp: X.509-certifikat" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "Cert: %s" #~ msgid "Key: %s" #~ msgstr "Nyckel: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Anslutningstyp: Delad nyckel" #~ msgid "Shared Key: %s" #~ msgstr "Delad nyckel: %s" #~ msgid "Remote IP: %s" #~ msgstr "Fjärr-IP: %s" #~ msgid "Connection Type: Password" #~ msgstr "Anslutningstyp: Lösenord" #~ msgid "Username: %s" #~ msgstr "Användarnamn: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Anslutningstyp: X.509 med lösenordsautentisering" #~ msgid "Remote: %s" #~ msgstr "Fjärr: %s" #~ msgid "Device: %s" #~ msgstr "Enhet: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Protokoll: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Vägar: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Använd LZO-komprimering: %s" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "TLS auth: %s %s" #~ msgstr "TLS-autentisering: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "" #~ "Anslutningsdetaljerna kan ändras genom att knappen \"Redigera\" används." #~ msgid "Cannot import settings" #~ msgstr "Kan inte importera inställningar" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN-inställningsfilen \"%s\" innehÃ¥ller inte giltiga data." #~ msgid "Select file to import" #~ msgstr "Välj fil att importera" #~ msgid "Select certificate to use" #~ msgstr "Välj certifikat att använda" #~ msgid "Select key to use" #~ msgstr "Välj nyckel att använda" #~ msgid "Select shared key to use" #~ msgstr "Välj delad nyckel att använda" #~ msgid "Select TA to use" #~ msgstr "Välj TA att använda" #~ msgid "Save as..." #~ msgstr "Spara som..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "En fil med namnet \"%s\" finns redan." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Vill du ersätta den med den du hÃ¥ller pÃ¥ att spara?" #~ msgid "Failed to export configuration" #~ msgstr "Misslyckades med att exportera konfiguration" #~ msgid "Failed to save file %s" #~ msgstr "Misslyckades med att spara filen %s" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "exempel: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "C_A-fil:" #~ msgid "Connection na_me:" #~ msgstr "Anslutningsna_mn:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Importera _sparad konfiguration..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Namn som används för att identifiera anslutningen till det privata " #~ "nätverket, exempelvis \"Campus-VPN\" eller \"Företagsnätverket\"" #~ msgid "Network" #~ msgstr "Nätverk" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "Använd endast _VPN-anslutning för dessa adresser:" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Ange den information som har tillhandahÃ¥llits av din systemadministratör " #~ "nedan. Ange inte lösenordet här eftersom du kommer att efterfrÃ¥gas det " #~ "när du ansluter." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Observera att filen som du importerar inte är en konfigurationsfil för " #~ "SSH. FrÃ¥ga din administratör efter filen." #~ msgid "Shared _key:" #~ msgstr "Delad _nyckel:" #~ msgid "TLS-Auth" #~ msgstr "TLS-Auth" #~ msgid "Use _TLS auth:" #~ msgstr "Använd _TLS-autentisering:" #~ msgid "Use cip_her:" #~ msgstr "Använd s_kiffer:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "X.509-ertifikat\n" #~ "Delad nyckel\n" #~ "Lösenordsautentisering\n" #~ "X.509 med lösenordsautentisering" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "_Gatewayadress:" #~ msgid "_Key:" #~ msgstr "_Nyckel:" #~ msgid "_Local IP:" #~ msgstr "_Lokal IP:" #~ msgid "_Remote IP:" #~ msgstr "_Fjärr-IP:" #~ msgid "_User name:" #~ msgstr "An_vändarnamn:" #~ msgid "_none" #~ msgstr "_inget" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "VPN-inloggningen misslyckades eftersom användarnamnet och lösenordet inte " #~ "accepterades eller att certifikatlösenordet var felaktigt." #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "" #~ "VPN-inloggningen misslyckades eftersom VPN-programmet inte kunde startas." #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "VPN-inloggningen misslyckades eftersom VPN-programmet inte kunde ansluta " #~ "till VPN-servern." #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "VPN-inloggningen misslyckades eftersom VPN-programmet mottog en ogiltig " #~ "konfiguration frÃ¥n VPN-servern." #~ msgid "VPN connection failed" #~ msgstr "VPN-anslutningen misslyckades" #~ msgid "Connection Information" #~ msgstr "Anslutningsinformation" #~ msgid "CA file:" #~ msgstr "CA-fil:" #~ msgid "Optional" #~ msgstr "Valfritt" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "X.509/Pass" #~ msgstr "X.509/Lösenord" #~ msgid "_Import Saved Configuration..." #~ msgstr "_Importera sparad konfiguration..." #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "Använd _endast VPN-anslutning för dessa adresser" #~ msgid "" #~ "_Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "_Namn som används för att identifiera anslutningen till det privata " #~ "nätverket, exempelvis \"Campus-VPN\" eller \"Företagsnätverket\"" #~ msgid "Remember password for this session" #~ msgstr "Kom ihÃ¥g lösenordet för denna session" #~ msgid "Save password in keyring" #~ msgstr "Spara lösenordet i nyckelring" #~ msgid "VPN Connection Manager" #~ msgstr "VPN-anslutningshanterare" #~ msgid "VPN Connection Manager (vpnc)" #~ msgstr "VPN-anslutningshanterare (vpnc)" #~ msgid "Name:" #~ msgstr "Namn:" #~ msgid "Username: %s" #~ msgstr "Användarnamn: %s" #~ msgid "User Name:" #~ msgstr "Användarnamn:" #~ msgid "CA:" #~ msgstr "CA:" #~ msgid "Cert:" #~ msgstr "Cert:" #~ msgid "Key" #~ msgstr "Nyckel" #~ msgid "Connection Type" #~ msgstr "Anslutningstyp" #~ msgid "Local IP" #~ msgstr "Lokalt IP" #~ msgid "Remote IP" #~ msgstr "Fjärr-IP" #~ msgid "Remote: %s" #~ msgstr "Fjärr: %s" #~ msgid "Remote:" #~ msgstr "Fjärr:" #~ msgid "Device:" #~ msgstr "Enhet:" #~ msgid "Device" #~ msgstr "Enhet" #~ msgid "Protocol:" #~ msgstr "Protokoll:" #~ msgid "Protocol" #~ msgstr "Protokoll" #~ msgid "Routes:" #~ msgstr "Vägar:" #~ msgid "Routes" #~ msgstr "Vägar" #~ msgid "Use LZO Compression:" #~ msgstr "Använd LZO-komprimering:" #~ msgid "Use LZO Compression" #~ msgstr "Använd LZO-komprimering" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted." #~ msgstr "" #~ "VPN-inloggningen misslyckades eftersom användarnamnet och lösenordet inte " #~ "accepterades." #~ msgid "Group Name:" #~ msgstr "Gruppnamn:" #~ msgid "_Import..." #~ msgstr "_Importera..." #~ msgid "Compatible Cisco VPN client (vpnc)" #~ msgstr "Kompatibel Cisco VPN-klient (vpnc)" #~ msgid "\tDomain: %s\n" #~ msgstr "\tDomän: %s\n" #~ msgid "" #~ "The following vpnc VPN connection will be created:\n" #~ "\n" #~ "\tName: %s\n" #~ "\n" #~ "\tGateway: %s\n" #~ "\tGroup Name: %s\n" #~ "%s%s%s\n" #~ "The connection details can be changed using the \"Edit\" button.\n" #~ msgstr "" #~ "Följande vpnc-VPN-anslutning kommer att skapas:\n" #~ "\n" #~ "\tNamn: %s\n" #~ "\n" #~ "\tGateway: %s\n" #~ "\tGruppnamn: %s\n" #~ "%s%s%s\n" #~ "Anslutningsdetaljerna kan ändras genom att använda knappen \"Redigera\".\n" #~ msgid "TCP tunneling not supported" #~ msgstr "TCP-tunnling stöds inte" #~ msgid "" #~ "The VPN settings file '%s' specifies that VPN traffic should be tunneled " #~ "through TCP which is currently not supported in the vpnc software.\n" #~ "\n" #~ "The connection can still be created, with TCP tunneling disabled, however " #~ "it may not work as expected." #~ msgstr "" #~ "VPN-inställningsfilen \"%s\" anger att VPN-trafiken ska tunnlas genom TCP " #~ "vilket för tillfället inte stöds i vpnc-programvaran.\n" #~ "\n" #~ "Anslutningen kan fortfarande skapas, med inaktiverad TCP-tunnling, men " #~ "det kanske inte fungerar som väntat." danfruehauf-NetworkManager-ssh-f65d65d/po/ta.po000066400000000000000000000316251507335542500215460ustar00rootroot00000000000000# translation of network-manager-ssh.master.ta.po to Tamil # Tamil translation of network-manager-ssh. # Copyright (C) 2009 network-manager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # # ifelix , 2009. # I. Felix , 2009. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh.master.ta\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-10-30 12:25+0530\n" "Last-Translator: I. Felix \n" "Language-Team: Tamil \n" "Language: ta\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\\n\n" "\n" "\n" "\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "மெயà¯à®¨à®¿à®•ர௠தனிபà¯à®ªà®Ÿà¯à®Ÿ பிணைய '%s'஠அணà¯à®• உஙà¯à®•ளà¯à®•à¯à®•௠அஙà¯à®•ீகாரம௠தேவைபà¯à®ªà®Ÿà¯à®•ிறதà¯." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "à®…à®™à¯à®•ீகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯ (_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "இரணà¯à®Ÿà®¾à®µà®¤à¯ கடவà¯à®šà¯à®šà¯Šà®²à¯ (_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "கடவà¯à®šà¯à®šà¯Šà®±à¯à®•ளைக௠காடà¯à®Ÿà¯" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "VPN஠திறகà¯à®•வà¯à®®à¯" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "திறநà¯à®¤ VPN சேவையகதà¯à®¤à¯à®Ÿà®©à¯ à®à®±à¯à®±à®µà¯à®®à¯." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS à®…à®™à¯à®•ீகாரமà¯" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "திறநà¯à®¤VPN கூடà¯à®¤à®²à¯ விரà¯à®ªà¯à®ªà®™à¯à®•ளà¯" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "தனிபயன௠கேடà¯à®µà¯‡ தà¯à®±à¯ˆà®¯à¯ˆà®ªà¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ (_o):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ஒர௠TA_P சாதனதà¯à®¤à¯ˆ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "(_U) பயனர௠பெயரà¯:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "பொதà¯" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "பொதà¯à®µà®¾à®©" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "கேடà¯à®µà¯‡ (_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "தொலை IP à®®à¯à®•வரி:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "உளà¯à®³à®®à¯ˆ IP à®®à¯à®•வரி:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "தொலை IP à®®à¯à®•வரி:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "உளà¯à®³à®®à¯ˆ IP à®®à¯à®•வரி:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "கூடà¯à®¤à®²à¯ (_v)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "à®…à®™à¯à®•ீகாரமà¯" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "வகை:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS à®…à®™à¯à®•ீகாரமà¯" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "கடவà¯à®šà¯à®šà¯Šà®±à¯à®•ளைக௠காடà¯à®Ÿà¯" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "விசை கோபà¯à®ªà¯:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "கடவà¯à®šà¯à®šà¯Šà®±à¯à®•ளைக௠காடà¯à®Ÿà¯" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "செயà¯à®•ளம௠(_D):" #~ msgid "Connect _anonymously" #~ msgstr "பெயரிலà¯à®²à®¾à®®à®²à¯ இணை (_a)" #~ msgid "Connect as _user:" #~ msgstr "பயனராக இணைகà¯à®•வà¯à®®à¯ (_u):" #~ msgid "_Remember password for this session" #~ msgstr "இநà¯à®¤ அமரà¯à®µà¯à®•à¯à®•௠கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ நினைவ௠கொளà¯à®³à®µà¯à®®à¯ (_R)" #~ msgid "_Save password in keyring" #~ msgstr "கீரிஙà¯à®•ில௠கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ சேமிகà¯à®•வà¯à®®à¯ (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "சானà¯à®±à®¿à®¤à®´à¯ கடவà¯à®šà¯à®šà¯Šà®²à¯ (_w):" #~ msgid "Certificate password:" #~ msgstr "சானà¯à®±à®¿à®¤à®´à¯ கடவà¯à®šà¯à®šà¯Šà®²à¯:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "ஒர௠சானà¯à®±à®¿à®¤à®´à¯ à®…à®™à¯à®•ீகார சானà¯à®±à®¿à®¤à®´à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯..." #~ msgid "Choose your personal certificate..." #~ msgstr "உஙà¯à®•ளத௠தனிபà¯à®ªà®Ÿà¯à®Ÿ சானà¯à®±à®¿à®¤à®´à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯..." #~ msgid "Choose your private key..." #~ msgstr "உஙà¯à®•ளத௠தனிபà¯à®ªà®Ÿà¯à®Ÿ விசையை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯..." #~ msgid "Choose an SSH static key..." #~ msgstr "ஒர௠திறநà¯à®¤VPN நிலையான விசையைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯..." #~ msgid "None" #~ msgstr "ஒனà¯à®±à¯à®®à®¿à®²à¯à®²à¯ˆ" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM சானà¯à®±à®¿à®¤à®´à¯à®•ள௠(*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "திறநà¯à®¤VPN நிலையான விசைகள௠(*.key)" #~ msgid "Default" #~ msgstr "à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "சானà¯à®±à®¿à®¤à®´à¯à®•ள௠(TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯à®Ÿà®©à¯ சானà¯à®±à®¿à®¤à®´à¯à®•ள௠(TLS)" #~ msgid "Static Key" #~ msgstr "நிலையான விசை" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "விசை திசை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¾à®²à¯, அத௠VPN பீரில௠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®ªà®Ÿà¯à®®à¯ எதிரில௠இரà¯à®•à¯à®•à¯à®®à¯. " #~ "எடà¯à®¤à¯à®¤à¯à®•à¯à®•ாடà¯à®Ÿà®¾à®•, பீர௠'1'஠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿à®©à®¾à®²à¯, இநà¯à®¤ இணைபà¯à®ªà¯ '0'வை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®®à¯. நீஙà¯à®•ள௠" #~ "எநà¯à®¤ மதிபà¯à®ªà¯ˆ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤ வேணà¯à®Ÿà¯à®®à¯†à®© தெளிவிலà¯à®²à®¾à®®à®²à¯ இரà¯à®¨à¯à®¤à®¾à®²à¯, உஙà¯à®•ள௠கணினி நிரà¯à®µà®¾à®•ியை " #~ "தொடரà¯à®ªà¯ கொளà¯à®³à®µà¯à®®à¯." #~ msgid "CA Certificate:" #~ msgstr "CA சானà¯à®±à®¿à®¤à®´à¯:" #~ msgid "Cipher:" #~ msgstr "சிபà¯à®ªà®°à¯:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC à®…à®™à¯à®•ீகாரமà¯:" #~ msgid "Key Direction:" #~ msgstr "விசை திசை:" #~ msgid "Private Key Password:" #~ msgstr "தனிபà¯à®ªà®Ÿà¯à®Ÿ விசை கடவà¯à®šà¯à®šà¯Šà®²à¯:" #~ msgid "Private Key:" #~ msgstr "தனிபà¯à®ªà®Ÿà¯à®Ÿ விசை:" #~ msgid "Security" #~ msgstr "பாதà¯à®•ாபà¯à®ªà¯" #~ msgid "Static Key:" #~ msgstr "நிலையான விசை:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO தரவ௠கà¯à®±à¯à®•à¯à®•தà¯à®¤à¯ˆ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯" #~ msgid "Use a _TCP connection" #~ msgstr "ஒர௠_TCP இணைபà¯à®ªà¯ˆ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯" #~ msgid "Use additional TLS authentication" #~ msgstr "கூடà¯à®¤à®²à¯ TLS à®…à®™à¯à®•ீகாரதà¯à®¤à¯ˆ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "தனிபயன௠மறà¯à®•à¯à®±à¯ˆà®¤à¯à®¤à®²à¯ இடைவெறியை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ (_r):" #~ msgid "User Certificate:" #~ msgstr "பயனர௠சானà¯à®±à®¿à®¤à®´à¯:" #~ msgid "User name:" #~ msgstr "பயனர௠பெயரà¯:" danfruehauf-NetworkManager-ssh-f65d65d/po/te.po000066400000000000000000000312501507335542500215440ustar00rootroot00000000000000# translation of network-manager-ssh.master.te.po to Telugu # Telugu translation of network-manager-ssh. # Copyright (C) 2009 network-manager-ssh's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-ssh package. # # Krishna Babu K , 2009. msgid "" msgstr "" "Project-Id-Version: network-manager-ssh.master.te\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2009-10-27 19:25+0530\n" "Last-Translator: Krishna Babu K \n" "Language-Team: Telugu \n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "\n" "\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "వరà±à°šà±à°¯à±à°µà°²à± à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ నెటà±à°µà°°à±à°•à± '%s'నౠయాకà±à°¸à°¿à°¸à± చేయà±à°Ÿà°•ౠమీరౠదృవీకరింపబడవలసి à°µà±à°‚ది." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN దృవీకరించà±à°®à±" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "సంకేతపదమà±:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "సంకేతపదమౠ(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "రెండవ సంకేతపదమౠ(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "సంకేతపదమà±à°²à°¨à± చూపà±à°®à±" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH సేవికతో సారూపà±à°¯à°‚." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "సంకేతపదమà±" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS దృవీకరణ" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH à°…à°§à±à°¨à°¾à°¤à°¨ à°à°šà±à°šà°¿à°•à°®à±à°²à±" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "మలచà±à°•ొనిన గేటà±â€Œà°µà±‡ పోరà±à°Ÿà± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à± (_o):" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "TA_P పరికరానà±à°¨à°¿ à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à±" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "వినియోగదారినామమౠ(_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "సాదారణ" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "సాదారణ" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "గేటà±â€Œà°µà±‡ (_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "దూరసà±à°¥ IP à°šà°¿à°°à±à°¨à°¾à°®à°¾:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "à°¸à±à°¥à°¾à°¨à°¿à°• IP à°šà°¿à°°à±à°¨à°¾à°®à°¾:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "దూరసà±à°¥ IP à°šà°¿à°°à±à°¨à°¾à°®à°¾:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "à°¸à±à°¥à°¾à°¨à°¿à°• IP à°šà°¿à°°à±à°¨à°¾à°®à°¾:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "à°…à°§à±à°¨à°¾à°¤à°¨... (_v)" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "దృవీకరణమà±" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "à°°à°•à°®à±:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS దృవీకరణ" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "సంకేతపదమà±à°²à°¨à± చూపà±à°®à±" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "à°•à±€ దసà±à°¤à±à°°à°®à±:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "సంకేతపదమà±à°²à°¨à± చూపà±à°®à±" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "డొమైనౠ(_D):" #~ msgid "Connect _anonymously" #~ msgstr "నామమà±à°²à±‡à°•à±à°‚à°¡à°¾ à°…à°¨à±à°¸à°‚ధానమౠఅవà±à°µà±à°®à± (_a)" #~ msgid "Connect as _user:" #~ msgstr "వినియోగదారివలె à°…à°¨à±à°¸à°‚ధానమౠఅవà±à°µà±à°®à±(_u):" #~ msgid "_Remember password for this session" #~ msgstr "à°ˆ సెషనౠకొరకౠసంకేతపదమà±à°¨à± à°—à±à°°à±à°¤à±à°‚à°šà±à°•ొనà±à°®à± (_R)" #~ msgid "_Save password in keyring" #~ msgstr "సంకేతపదమà±à°¨à± కీరింగౠనందౠదాయà±à°®à± (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "దృవీకరణపతà±à°°à°®à± సంకేతపదమౠ(_w):" #~ msgid "Certificate password:" #~ msgstr "దృవీకరణపతà±à°°à°®à± సంకేతపదమà±:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "దృవీకరణపతà±à°°à°®à± అధికారికం దృవీకరణపతà±à°°à°®à± యెంచà±à°•ొనà±à°®à±..." #~ msgid "Choose your personal certificate..." #~ msgstr "మీ à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ దృవీకరణపతà±à°°à°®à±à°¨à± యెంచà±à°•ొనà±à°®à±..." #~ msgid "Choose your private key..." #~ msgstr "మీ à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ కీనౠయెంచà±à°•ొనà±à°®à±..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH à°¸à±à°Ÿà°¾à°Ÿà°¿à°•ౠకీనౠయెంచà±à°•ొనà±à°®à±..." #~ msgid "None" #~ msgstr "à°à°¦à±€à°•ాదà±" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM దృవీకరణపతà±à°°à°®à±à°²à± (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH à°¸à±à°Ÿà°¾à°Ÿà°¿à°•ౠకీలౠ(*.key)" #~ msgid "Default" #~ msgstr "à°…à°ªà±à°°à°®à±‡à°¯à°‚" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "Certificates (TLS)" #~ msgstr "దృవీకరణపతà±à°°à°®à±à°²à± (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "దృవీకరణపతà±à°°à°®à±à°²à± (TLS)తో సంకేతపదమà±" #~ msgid "Static Key" #~ msgstr "à°¸à±à°Ÿà°¾à°Ÿà°¿à°•à± à°•à±€" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "à°•à±€ దిశానిరà±à°¦à±‡à°¶à°‚ à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°¤à±à°‚టే, అది తపà±à°ªà°• VPN పీరౠనందౠవà±à°ªà°¯à±‹à°—à°¿à°‚à°šà°¨ దానికి à°µà±à°¯à°¤à°¿à°°à±‡à°•à°‚à°—à°¾ " #~ "à°µà±à°‚డాలి. ఉదాహరణకà±, పీరౠ'1' à°µà±à°ªà°¯à±‹à°—à°¿à°¸à±à°¤à±à°‚టే, à°ˆ à°…à°¨à±à°¸à°‚ధానం తపà±à°ªà°• '0' à°µà±à°ªà°¯à±‹à°—ించాలి. ఠవిలà±à°µ " #~ "à°µà±à°ªà°¯à±‹à°—ించాలో మీకౠఖచà±à°šà°¿à°¤à°‚à°—à°¾ తెలియకà±à°‚టే, మీ సిసà±à°Ÿà°®à± నిరà±à°µà°¹à°£à°¾à°§à°¿à°•ారిని సంపà±à°°à°¦à°¿à°‚à°šà°‚à°¡à°¿." #~ msgid "CA Certificate:" #~ msgstr "CA దృవీకరణపతà±à°°à°®à±:" #~ msgid "Cipher:" #~ msgstr "సైఫరà±:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC దృవీకరణమà±:" #~ msgid "Key Direction:" #~ msgstr "à°•à±€ దిశ:" #~ msgid "Private Key Password:" #~ msgstr "à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ à°•à±€ సంకేతపదమà±:" #~ msgid "Private Key:" #~ msgstr "à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ à°•à±€:" #~ msgid "Security" #~ msgstr "à°°à°•à±à°·à°£" #~ msgid "Static Key:" #~ msgstr "à°¸à±à°Ÿà°¾à°Ÿà°¿à°•à± à°•à±€:" #~ msgid "Use L_ZO data compression" #~ msgstr "L_ZO డాటా à°•à±à°¦à°¿à°‚à°ªà±à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à±" #~ msgid "Use a _TCP connection" #~ msgstr "_TCP à°…à°¨à±à°¸à°‚ధానమà±à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à±" #~ msgid "Use additional TLS authentication" #~ msgstr "అదనపౠTLS దృవీకరణమౠవà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à±" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "మలచà±à°•ొనిన à°…à°šà°°à±à°šà°¨à±€à°¯ విరామంనౠవà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°®à± (_r):" #~ msgid "User Certificate:" #~ msgstr "వినియోగదారి దృవీకరణపతà±à°°à°®à±:" #~ msgid "User name:" #~ msgstr "వినియోగదారి నామమà±:" danfruehauf-NetworkManager-ssh-f65d65d/po/th.po000066400000000000000000000424731507335542500215600ustar00rootroot00000000000000# Thai translation of NetworkManager-ssh # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the NetworkManager package. # # Supranee Thirawatthanasuk , 2007. # Theppitak Karoonboonyanan , 2007. msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2007-02-02 20:53+0700\n" "Last-Translator: Theppitak Karoonboonyanan \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "คุณจะต้องยืนยันตัวบุคคลเพื่อเข้าใช้ Virtual Private Network '%s'" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "ยืนยันตัวบุคคลà¸à¸±à¸š VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_รหัสผ่าน:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_รหัสผ่าน:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "รหัสผ่านที่_สอง:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "รหัสผ่าน" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "ไคลเอนต์ SSH" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "รหัสผ่าน" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "ยืนยันตัวบุคคลà¸à¸±à¸š VPN" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ใช้อุปà¸à¸£à¸“์ TAP" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ชื่อผู้ใช้:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "เ_à¸à¸•เวย์:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "IP à¸à¸±à¹ˆà¸‡à¹‚น้น:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "IP à¸à¸±à¹ˆà¸‡à¸™à¸µà¹‰:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:24 #, fuzzy msgid "Authentication" msgstr "ข้อมูลจำเป็น" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "รหัสผ่าน" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 #, fuzzy msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "à¸à¸²à¸£à¹€à¸‚้าระบบ VPN ล้มเหลว เพราะตัวเลือà¸à¸‚องค่าตั้ง VPN ไม่ถูà¸à¸•้อง" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_ชื่อผู้ใช้:" #~ msgid "_Domain:" #~ msgstr "โ_ดเมน:" #~ msgid "Connect _anonymously" #~ msgstr "เชื่อมต่อà¹à¸šà¸š_นิรนาม" #~ msgid "Connect as _user:" #~ msgstr "เชื่อมต่อในนาม_ผู้ใช้:" #~ msgid "_Remember password for this session" #~ msgstr "_จำรหัสผ่านสำหรับใช้ในวาระนี้" #~ msgid "_Save password in keyring" #~ msgstr "_บันทึà¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸¥à¸‡à¹ƒà¸™à¸žà¸§à¸‡à¸à¸¸à¸à¹à¸ˆ" #~ msgid "Certificate pass_word:" #~ msgstr "_รหัสผ่านใบรับรอง:" #~ msgid "Certificate password:" #~ msgstr "รหัสผ่านใบรับรอง:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "เพิ่ม, ลบ à¹à¸¥à¸°à¹à¸à¹‰à¹„ข à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ VPN" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "เครื่องมือจัดà¸à¸²à¸£à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ VPN (SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "จะสร้างà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ SSH ต่อไปนี้:" #~ msgid "Name: %s" #~ msgstr "ชื่อ: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "ชนิดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ: ใบรับรอง X.509" #~ msgid "CA: %s" #~ msgstr "CA: %s" #~ msgid "Cert: %s" #~ msgstr "ใบรับรอง: %s" #~ msgid "Key: %s" #~ msgstr "à¸à¸¸à¸à¹à¸ˆ: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "ชนิดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ: à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡" #~ msgid "Shared Key: %s" #~ msgstr "à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡: %s" #~ msgid "Local IP: %s" #~ msgstr "IP à¸à¸±à¹ˆà¸‡à¸™à¸µà¹‰: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP à¸à¸±à¹ˆà¸‡à¹‚น้น: %s" #~ msgid "Connection Type: Password" #~ msgstr "ชนิดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ: รหัสผ่าน" #~ msgid "Username: %s" #~ msgstr "ชื่อผู้ใช้: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "ชนิดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ: X.509 พร้อมà¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸•ัวบุคคลด้วยรหัสผ่าน" #~ msgid "Remote: %s" #~ msgstr "à¸à¸±à¹ˆà¸‡à¹‚น้น: %s" #~ msgid "Device: %s" #~ msgstr "อุปà¸à¸£à¸“์: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "โพรโทคอล: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "เส้นทาง: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "ใช้à¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸” LZO: %s" #~ msgid "Yes" #~ msgstr "ใช้" #~ msgid "No" #~ msgstr "ไม่ใช้" #~ msgid "Cipher: %s" #~ msgstr "รหัสลับ: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "à¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸•ัวบุคคลของ TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "รายละเอียดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อสามารถเปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้ โดยใช้ปุ่ม \"à¹à¸à¹‰à¹„ข\"" #~ msgid "Cannot import settings" #~ msgstr "ไม่สามารถนำเข้าค่าตั้ง" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "à¹à¸Ÿà¹‰à¸¡à¸„่าตั้ง VPN '%s' มีข้อมูลไม่ถูà¸à¸•้อง" #~ msgid "Select file to import" #~ msgstr "เลือà¸à¹à¸Ÿà¹‰à¸¡à¸—ี่จะนำเข้า" #~ msgid "Select CA to use" #~ msgstr "เลือภCA ที่จะใช้" #~ msgid "Select certificate to use" #~ msgstr "เลือà¸à¹ƒà¸šà¸£à¸±à¸šà¸£à¸­à¸‡à¸—ี่จะใช้" #~ msgid "Select key to use" #~ msgstr "เลือà¸à¸à¸¸à¸à¹à¸ˆà¸—ี่จะใช้" #~ msgid "Select shared key to use" #~ msgstr "เลือà¸à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡à¸—ี่จะใช้" #~ msgid "Select TA to use" #~ msgstr "เลือภTA ที่จะใช้" #~ msgid "Save as..." #~ msgstr "บันทึà¸à¹€à¸›à¹‡à¸™..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "มีà¹à¸Ÿà¹‰à¸¡à¸Šà¸·à¹ˆà¸­ \"%s\" อยู่à¸à¹ˆà¸­à¸™à¹à¸¥à¹‰à¸§" #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "คุณต้องà¸à¸²à¸£à¹€à¸‚ียนทับà¹à¸Ÿà¹‰à¸¡à¸™à¸µà¹‰à¸”้วยข้อมูลที่à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸šà¸±à¸™à¸—ึà¸à¸«à¸£à¸·à¸­à¹„ม่?" #~ msgid "Failed to export configuration" #~ msgstr "ส่งออà¸à¸„่าตั้งไม่สำเร็จ" #~ msgid "Failed to save file %s" #~ msgstr "บันทึà¸à¹à¸Ÿà¹‰à¸¡ %s ไม่สำเร็จ" #~ msgid "0" #~ msgstr "0" #~ msgid "1" #~ msgstr "1" #~ msgid "Connection Name" #~ msgstr "ชื่อà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ" #~ msgid "Optional Information" #~ msgstr "ข้อมูลเสริม" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "ตัวอย่าง: 172.16.0.0/16 10.11.12.0/24" #~ msgid "CA file:" #~ msgstr "à¹à¸Ÿà¹‰à¸¡ CA:" #~ msgid "CA file:" #~ msgstr "à¹à¸Ÿà¹‰à¸¡ CA:" #~ msgid "Certificate:" #~ msgstr "ใบรับรอง:" #~ msgid "Connection Type:" #~ msgstr "ชนิดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ:" #~ msgid "Direction:" #~ msgstr "ทิศทาง:" #~ msgid "Key:" #~ msgstr "à¸à¸¸à¸à¹à¸ˆ:" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "à¸à¸£à¸¸à¸“าป้อนข้อมูลที่คุณได้มาจาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณในà¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡à¸‚้างล่างนี้ ไม่ต้องป้อนรหัสผ่านที่นี่ " #~ "เพราะคุณจะถูà¸à¸–ามเมื่อเชื่อมต่อ" #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "โปรดสังเà¸à¸•ว่าà¹à¸Ÿà¹‰à¸¡à¸—ี่คุณนำเข้าไม่ใช่à¹à¸Ÿà¹‰à¸¡à¸„่าตั้ง SSH à¸à¸£à¸¸à¸“าขอà¹à¸Ÿà¹‰à¸¡à¸„่าตั้งนี้จาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณ" #~ msgid "Shared Key:" #~ msgstr "à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡:" #~ msgid "Shared key" #~ msgstr "à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡" #~ msgid "Use LZO compression" #~ msgstr "ใช้à¸à¸²à¸£à¸šà¸µà¸šà¸šà¸­à¸±à¸” LZO" #~ msgid "Use TCP connection" #~ msgstr "ใช้à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ TCP" #~ msgid "Use TLS auth:" #~ msgstr "ใช้à¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸•ัวบุคคลของ TLS:" #~ msgid "Use cipher:" #~ msgstr "ใช้วิธีเข้ารหัสลับ:" #~ msgid "X.509" #~ msgstr "X.509" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "ใบรับรอง X.509\n" #~ "à¸à¸¸à¸à¹à¸ˆà¸£à¹ˆà¸§à¸¡à¸à¸³à¸«à¸™à¸”ล่วงหน้า\n" #~ "à¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸•ัวบุคคลด้วยรหัสผ่าน\n" #~ "X.509 พร้อมà¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸•ัวบุคคลด้วยรหัสผ่าน" #~ msgid "_Import Saved Configuration..." #~ msgstr "_นำเข้าค่าตั้งที่บันทึà¸à¹„ว้..." #~ msgid "" #~ "_Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "_ชื่อที่ใช้à¹à¸—นà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อไปยังเครือข่ายส่วนบุคคล เช่น \"VPN มหาวิทยาลัย\" หรือ " #~ "\"เครือข่ายบริษัท\"" #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "ใ_ช้à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ VPN à¸à¸±à¸šà¸—ี่อยู่เหล่านี้เท่านั้น" #~ msgid "none" #~ msgstr "ไม่มี" #~ msgid "" #~ "The VPN login failed because the user name and password were not accepted " #~ "or the certificate password was wrong." #~ msgstr "" #~ "à¸à¸²à¸£à¹€à¸‚้าระบบ VPN ล้มเหลว เพราะชื่อผู้ใช้à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¹„ม่ผ่านà¸à¸²à¸£à¸¢à¸­à¸¡à¸£à¸±à¸š " #~ "หรือรหัสผ่านใบรับรองไม่ถูà¸à¸•้อง" #~ msgid "The VPN login failed because the VPN program could not be started." #~ msgstr "à¸à¸²à¸£à¹€à¸‚้าระบบ VPN ล้มเหลว เพราะโปรà¹à¸à¸£à¸¡ VPN ไม่สามารถเริ่มทำงานได้" #~ msgid "" #~ "The VPN login failed because the VPN program could not connect to the VPN " #~ "server." #~ msgstr "" #~ "à¸à¸²à¸£à¹€à¸‚้าระบบ VPN ล้มเหลว เพราะโปรà¹à¸à¸£à¸¡ VPN ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ VPN" #~ msgid "" #~ "The VPN login failed because the VPN program received an invalid " #~ "configuration from the VPN server." #~ msgstr "" #~ "à¸à¸²à¸£à¹€à¸‚้าระบบ VPN ล้มเหลว เพราะโปรà¹à¸à¸£à¸¡ VPN ได้รับค่าตั้งที่ไม่ถูà¸à¸•้องจาà¸à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ VPN" #~ msgid "VPN connection failed" #~ msgstr "à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ VPN ล้มเหลว" danfruehauf-NetworkManager-ssh-f65d65d/po/ug.po000066400000000000000000000216741507335542500215600ustar00rootroot00000000000000# Uyghur translation for network-manager-ssh. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Gheyret Kenji , 2010. # msgid "" msgstr "" "Project-Id-Version: network-manager-ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-01-31 15:04+0000\n" "Last-Translator: Gheyret Kenji \n" "Language-Team: Uyghur Computer Science Association \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Ù…Û•Û‹Ú¾Û‡Ù… شەخسىي تور(VPN) '%s' نى زىيارەت قىلىش ئۈچۈن دەلىللەشتىن ئۆتىشىڭىز " "ÙƒÛØ±Û•Ùƒ." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "VPN دەلىللەش" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "ئىم(_P):" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "ئىم(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "ئىككىنچى ئىم(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "ئىم" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "SSH Ù…Û‡Ù„Ø§Ø²Ù‰Ù…ÛØªÙ‰Ø±Ù‰ بىلەن ماسلىشىدۇ." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "ئىم" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "VPN دەلىللەش" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "زۆرۈر ئەمەس" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "ئىشلەتكۈچى ئاتى(_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 msgid "Advanced..." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "ئىم" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "دائىرە(_D):" #~ msgid "Connect _anonymously" #~ msgstr "ئاتسىز باغلىنىش(_A)" #~ msgid "Connect as _user:" #~ msgstr "باغلىنىش سالاھىيىتى(_U):" #~ msgid "_Remember password for this session" #~ msgstr "بۇ ئەڭگىمەدە ئىمنى ئەستە تۇت(_R)" #~ msgid "_Save password in keyring" #~ msgstr "ئىمنى keyring دا ساقلا(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "گۇۋاھنامە ئىمى(_W):" #~ msgid "Certificate password:" #~ msgstr "گۇۋاھنامە ئىمى:" #~ msgid "Choose your personal certificate..." #~ msgstr "شەخسىي ئىسپاتنامىڭىزنى تاللاڭ..." #~ msgid "Choose your private key..." #~ msgstr "شەخسىي ئاچقۇچىڭىزنى تاللاڭ..." #~ msgid "Choose an SSH static key..." #~ msgstr "SSH تىنچ ئاچقۇچىنى تاللايدۇ..." #~ msgid "None" #~ msgstr "يوق" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM ياكى PKCS#12 ئىسپاتنامىلىرى (*.pemØŒ *.crtØŒ *.keyØŒ *.cerØŒ *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM ئىسپاتنامىلىرى (*.pemØŒ *.crtØŒ *.keyØŒ *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH تىنچ ئاچقۇچى(*.key)" #~ msgid "Default" #~ msgstr "كۆڭۈلدىكى" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "گۇۋاھنامىلەر(TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "ئىمى بار گۇۋاھنامىلەر(TLS)" #~ msgid "Static Key" #~ msgstr "تىنچ ئاچقۇچ" danfruehauf-NetworkManager-ssh-f65d65d/po/uk.po000066400000000000000000000331501507335542500215540ustar00rootroot00000000000000# Ukrainian translation of NetworkManager ssh # Copyright (C) Free Software Foundation, 2005 # This file is distributed under the same license as the NetworkManager package. # Maxim Dziumanenko , 2005-2007 # Korostil Daniel , 2011. msgid "" msgstr "" "Project-Id-Version: NetworkManager ssh\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-15 06:15+0300\n" "Last-Translator: Korostil Daniel \n" "Language-Team: translation@linux.org.ua\n" "Language: uk\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: Virtaal 0.6.1\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" "Ð”Ð»Ñ Ð´Ð¾Ñтупу до віртуальної приватної мережі «%s» потрібна автентифікаціÑ." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "Пароль:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "_Пароль:" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "_Вторинний пароль:" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "Показати пароль" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "СуміÑний з Ñервером SSH." #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "Пароль" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ TLS" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "Ðе потрібно" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Додаткові параметри SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "ВикориÑтовувати інший _порт шлюзу:" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" "ВикориÑтовувати неÑтандартний макÑимальний _розмір елементу передачі (MTU):" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "ВикориÑтовувати приÑтрій TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "КориÑтувач на прокÑÑ–-Ñервері:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "Загальне" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "Загальне" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "_Шлюз:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "Віддалена адреÑа IP:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "Локальна адреÑа IP:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "Віддалена адреÑа IP:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "Локальна адреÑа IP:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "_Додатково…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "Ðвтентифікації" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "Тип:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ TLS" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "Показати паролі" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "Файл ключа:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "Показати паролі" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "_КориÑтувач:" #~ msgid "_Domain:" #~ msgstr "_Домен:" #~ msgid "Connect _anonymously" #~ msgstr "З'єднуватиÑÑŒ _анонімно" #~ msgid "Connect as _user:" #~ msgstr "З'єднуватиÑÑŒ Ñк _кориÑтувач" #~ msgid "_Remember password for this session" #~ msgstr "Па_м'Ñтати пароль Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ ÑеанÑу" #~ msgid "_Save password in keyring" #~ msgstr "З_берегти пароль у в'Ñзці паролів" #~ msgid "Certificate pass_word:" #~ msgstr "Па_роль Ñертифіката:" #~ msgid "Certificate password:" #~ msgstr "Пароль Ñертифіката:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "Виберіть Ñертифікат видавцÑ…" #~ msgid "Choose your personal certificate..." #~ msgstr "Виберіть ваш оÑобиÑтий Ñертифікат…" #~ msgid "Choose your private key..." #~ msgstr "Виберіть ваш оÑобиÑтий ключ…" #~ msgid "Choose an SSH static key..." #~ msgstr "Виберіть Ñтатичний ключ SSH…" #~ msgid "None" #~ msgstr "Ðемає" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "Сертифікати PEM чи PKCS#12 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "Сертифікати PEM (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "Статичні ключі SSH (*.key)" #~ msgid "Default" #~ msgstr "Типово" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "Сертифікати (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "Пароль з Ñертифікатами (TLS)" #~ msgid "Static Key" #~ msgstr "Статичний ключ" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "З'єднуватиÑÑŒ лише з Ñерверами, чиї Ñертифікати збігаютьÑÑ Ð· вказаним " #~ "об'єктом.\n" #~ "Приклад: /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "Якщо викориÑтовуєтьÑÑ Ð½Ð°Ð¿Ñ€Ñмок ключа, він має бути протилежним " #~ "напрÑмком відноÑно того, Ñкий викориÑтовує друга Ñторона. Ðаприклад, Ñкщо " #~ "друга Ñторона викориÑтовує «1», це з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¼Ð°Ñ” викориÑтовувати «0». " #~ "Якщо ви не впевнені, Ñке Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати, зв'ÑжітьÑÑ Ñ–Ð· " #~ "ÑиÑтемним адмініÑтратором." #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "" #~ "Виберіть цей параметр, Ñкщо Ð´Ð»Ñ Ð´Ð¾Ñтупу до інтернет у вашій " #~ "організації викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾ÐºÑÑ–-Ñервер." #~ msgid "CA Certificate:" #~ msgstr "Сертифікат CA:" #~ msgid "Cipher:" #~ msgstr "Шифр:" #~ msgid "HMAC Authentication:" #~ msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ HMAC:" #~ msgid "Key Direction:" #~ msgstr "ÐапрÑмок ключа:" #~ msgid "Port:" #~ msgstr "Порт:" #~ msgid "Private Key Password:" #~ msgstr "Пароль оÑобиÑтого ключа:" #~ msgid "Private Key:" #~ msgstr "ОÑобиÑтий ключ:" #~ msgid "Proxies" #~ msgstr "ПрокÑÑ–-Ñервери" #~ msgid "Proxy Password:" #~ msgstr "Пароль прокÑÑ–-Ñервера:" #~ msgid "Proxy Type:" #~ msgstr "Тип прокÑÑ–-Ñервера:" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "Обмежувати макÑимальний розмір Ñегменту TCP (MSS) тунелю" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "Повторити незалежно від того, чи ÑтанетьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°" #~ msgid "Security" #~ msgstr "Безпека" #~ msgid "Server Address:" #~ msgstr "ÐдреÑа Ñервера:" #~ msgid "Static Key:" #~ msgstr "Статичний ключ:" #~ msgid "Subject Match:" #~ msgstr "Об'єкт збігу:" #~ msgid "Use L_ZO data compression" #~ msgstr "ВикориÑтовувати ÑтиÑÐ½ÐµÐ½Ð½Ñ L_ZO" #~ msgid "Use a _TCP connection" #~ msgstr "ВикориÑтовувати з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ _TCP" #~ msgid "Use additional TLS authentication" #~ msgstr "Додаткова Ð°Ð²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ TLS" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "ВикориÑтовувати неÑтандартний розмір _фрагменту UDP:" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ВикориÑтовувати влаÑний _повторних переговорів інтервал:" #~ msgid "User Certificate:" #~ msgstr "Сертифікат кориÑтувача:" #~ msgid "User name:" #~ msgstr "КориÑтувач:" danfruehauf-NetworkManager-ssh-f65d65d/po/vi.po000066400000000000000000000321351507335542500215550ustar00rootroot00000000000000# Vietnamese translation for Network Manager Open VPN. # Copyright © 2008 Free Software Foundation, Inc. # Clytie Siddall , 2006-2008. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh GNOME TRUNK\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2008-06-06 14:34+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\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-Generator: LocFactoryEditor 1.7b3\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "Bạn cần phải xác thá»±c để truy cập Mạng Riêng Ảo (VPN) « %s »." #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "Xác thá»±c VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 #, fuzzy msgid "Password:" msgstr "_Mật khẩu :" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 #, fuzzy msgid "_Password:" msgstr "_Mật khẩu :" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "Mật khẩu _phụ :" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "_Mật khẩu :" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 #, fuzzy msgid "SSH Agent" msgstr "Ứng dụng khách SSH" #: ../properties/nm-ssh.c:633 #, fuzzy msgid "Password" msgstr "_Mật khẩu :" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "Xác thá»±c VPN" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr "" #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "Tùy chá»n cấp cao SSH" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "Cổn_g là cổng ra:" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "Dùng thiết bị TA_P" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "_Tên ngưá»i dùng:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "Cổn_g là cổng ra:" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "IP ở _xa:" #: ../properties/nm-ssh-dialog.ui.h:16 #, fuzzy msgid "Local IP Address:" msgstr "IP cục bá»™ : %s" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 msgid "Remote IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:21 msgid "Local IP Address (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "Cấp ca_o" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "_Mật khẩu :" #: ../properties/nm-ssh-dialog.ui.h:29 msgid "SSH Key File:" msgstr "" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "_Miá»n:" #~ msgid "Connect _anonymously" #~ msgstr "Kết nối nặc d_anh" #~ msgid "Connect as _user:" #~ msgstr "Kết nối _vá»›i tư cách ngưá»i dùng:" #~ msgid "_Remember password for this session" #~ msgstr "Nhá»› mật khẩu cho _buổi hợp này" #~ msgid "_Save password in keyring" #~ msgstr "_Lưu mật khẩu trong vòng khoá" #~ msgid "Certificate pass_word:" #~ msgstr "Mật _khẩu chứng nhận:" #~ msgid "Certificate password:" #~ msgstr "Mật khẩu chứng nhận:" #~ msgid "The following SSH connection will be created:" #~ msgstr "Kết nối SSH này sẽ được tạo :" #~ msgid "Name: %s" #~ msgstr "Tên: %s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "Kiểu kết nối: chứng nhận X.509" #~ msgid "CA: %s" #~ msgstr "Nhà cầm quyá»n chứng nhận: %s" #~ msgid "Cert: %s" #~ msgstr "Chứng nhận: %s" #~ msgid "Key: %s" #~ msgstr "Khoá: %s" #~ msgid "Connection Type: Shared Key" #~ msgstr "Kiểu kết nối: khoá chia sẻ" #~ msgid "Shared Key: %s" #~ msgstr "Khoá chia sẻ: %s" #~ msgid "Remote IP: %s" #~ msgstr "IP ở xa: %s" #~ msgid "Connection Type: Password" #~ msgstr "Kiểu kết nối: mật khẩu" #~ msgid "Username: %s" #~ msgstr "Tên ngưá»i dùng: %s" #~ msgid "Connection Type: X.509 with Password Authentication" #~ msgstr "Kiểu kết nối: X.509 và xác thá»±c mật khẩu" #~ msgid "Remote: %s" #~ msgstr "Ở xa: %s" #~ msgid "Port: %s" #~ msgstr "Cổng: %s" #~ msgid "Device: %s" #~ msgstr "Thiết bị: %s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "Giao thức: %s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "Tuyến: %s" #~ msgid "Use LZO Compression: %s" #~ msgstr "Nén bằng LZO: %s" #~ msgid "Yes" #~ msgstr "Có" #~ msgid "No" #~ msgstr "Không" #~ msgid "Cipher: %s" #~ msgstr "Mật mã: %s" #~ msgid "TLS auth: %s %s" #~ msgstr "Xác thá»±c TLS: %s %s" #~ msgid "The connection details can be changed using the \"Edit\" button." #~ msgstr "Chi tiết kết nối có thể được sá»­a đổi dùng nút « Sá»­a »." #~ msgid "Cannot import settings" #~ msgstr "Không thể nhập thiết lập" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "Tập tin thiết lập VPN « %s » không chứa dữ liệu hợp lệ." #~ msgid "Select file to import" #~ msgstr "Chá»n tập tin cần nhập vào" #~ msgid "Select CA to use" #~ msgstr "Chá»n nhà cầm quyá»n chứng nhận (CA) cần dùng" #~ msgid "Select certificate to use" #~ msgstr "Chá»n chứng nhận cần dùng" #~ msgid "Select key to use" #~ msgstr "Chá»n khoá cần dùng" #~ msgid "Select shared key to use" #~ msgstr "Chá»n khoá chia sẻ cần dùng" #~ msgid "Select TA to use" #~ msgstr "Chá»n TA cần dùng" #~ msgid "Save as..." #~ msgstr "Lưu dạng..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "Má»™t tập tin tên « %s » đã có." #~ msgid "Do you want to replace it with the one you are saving?" #~ msgstr "Bạn có muốn thay thế nó bằng tập tin Ä‘ang lưu không?" #~ msgid "Failed to export configuration" #~ msgstr "Lá»—i xuất cấu hình" #~ msgid "Failed to save file %s" #~ msgstr "Lá»—i lưu tập tin %s" #~ msgid "(Default: 1194)" #~ msgstr "(Mặc định: 1194)" #~ msgid "65536" #~ msgstr "65536" #~ msgid "example: 172.16.0.0/16 10.11.12.0/24" #~ msgstr "v.d.: 172.16.0.0/16 10.11.12.0/24" #~ msgid "C_A file:" #~ msgstr "Tập tin nhà cầm _quyá»n chứng nhận:" #~ msgid "C_ertificate:" #~ msgstr "C_hứng nhận:" #~ msgid "Co_nnection type:" #~ msgstr "Kiểu kết _nối:" #~ msgid "Connection na_me:" #~ msgstr "Tên _kết nối:" #~ msgid "Direction:" #~ msgstr "Hướng:" #~ msgid "Import _Saved Configuration..." #~ msgstr "Nhập cấu hình đã _lưu..." #~ msgid "" #~ "Name used to identify the connection to the private network, e.g. " #~ "\"Campus VPN\" or \"Corporate Network\"" #~ msgstr "" #~ "Tên dùng để nhận diện kết nối cho mạng riêng, v.d. « VPN đại há»c » hay « " #~ "Mạng công ty »." #~ msgid "Network" #~ msgstr "Mạng" #~ msgid "Only use _VPN connection for these addresses:" #~ msgstr "Chỉ dùng kết nối _VPN cho những địa chỉ này:" #~ msgid "SSH Configuration" #~ msgstr "Cấu hình SSH" #~ msgid "" #~ "Please enter the information provided by your system administrator below. " #~ "Do not enter your password here as you will be prompted when connecting." #~ msgstr "" #~ "Hãy gõ dưới đây thông tin được cung cấp bởi nhà quản trị hệ thống. Äừng " #~ "gõ mật khẩu vào đây: bạn sẽ được nhắc gõ nó trong khi kết nối." #~ msgid "" #~ "Please note that the file you import is not an SSH configuration file. " #~ "Ask your administrator for the file." #~ msgstr "" #~ "Ghi chú : tập tin nhập vào không phải là tập tin cấu hình SSH. Hãy xin " #~ "nhà quản trị hệ thống cung cấp tập tin đó." #~ msgid "Shared _key:" #~ msgstr "_Khoá chia sẻ:" #~ msgid "TLS-Auth" #~ msgstr "XácT-TLS" #~ msgid "Use L_ZO compression" #~ msgstr "Nén bằng L_ZO" #~ msgid "Use _TCP connection" #~ msgstr "Dùng kết nối _TCP" #~ msgid "Use _TLS auth:" #~ msgstr "Dùng xác thá»±c ÄTLS:" #~ msgid "Use cip_her:" #~ msgstr "Dùng _mật mã:" #~ msgid "" #~ "X.509 Certificates\n" #~ "Pre-shared key\n" #~ "Password Authentication\n" #~ "X.509 with Password Authentication" #~ msgstr "" #~ "Chứng nhận X.509\n" #~ "Khoá chia sẻ sẵn\n" #~ "Xác thá»±c bằng mật khẩu\n" #~ "X.509 và xác thá»±c bằng mật khẩu" #~ msgid "_0" #~ msgstr "_0" #~ msgid "_1" #~ msgstr "_1" #~ msgid "_Gateway address:" #~ msgstr "Äịa chỉ cổn_g ra:" #~ msgid "_Key:" #~ msgstr "_Phím:" #~ msgid "_Local IP:" #~ msgstr "IP cục _bá»™ :" #~ msgid "_User name:" #~ msgstr "_Tên ngưá»i dùng:" #~ msgid "_none" #~ msgstr "khô_ng có" danfruehauf-NetworkManager-ssh-f65d65d/po/zh_CN.po000066400000000000000000000340521507335542500221400ustar00rootroot00000000000000# Simplified Chinese translation to NetworkManger-ssh # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the NetworkManger package. # Funda Wang , 2004. # Wei Mingzhi , 2009. # Aron Xu , 2009. # du baodao , 2010. # Lele Long , 2011. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-03-18 21:02+0800\n" "Last-Translator: chiachen \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\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" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "è¦è®¿é—®è™šæ‹Ÿç§ç½‘“%sâ€ï¼Œæ‚¨å¿…须进行身份验è¯ã€‚" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "éªŒè¯ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "密ç ï¼š" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "密ç (_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "次è¦å¯†ç (_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "显示密ç " #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "与 SSH æœåС噍兼容" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "密ç " #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "TLS 认è¯" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "å¯é€‰" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH 高级选项" #: ../properties/nm-ssh-dialog.ui.h:4 #, fuzzy msgid "Use custom gateway port:" msgstr "使用自定义网关端å£(_O):" #: ../properties/nm-ssh-dialog.ui.h:5 #, fuzzy msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "使用自定义最大传输å•å…ƒ(MTU)(_T)" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 #, fuzzy msgid "Use a TAP device" msgstr "便用 TA_P 设备" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "代ç†ç”¨æˆ·å:" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:13 #, fuzzy msgid "Gateway:" msgstr "网关(_G):" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 msgid "Remote IP Address:" msgstr "远程 IP 地å€ï¼š" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "本地 IP 地å€ï¼š" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "远程 IP 地å€ï¼š" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "本地 IP 地å€ï¼š" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "高级(_V)..." #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "认è¯" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "类型:" #: ../properties/nm-ssh-dialog.ui.h:26 #, fuzzy msgid "Select an authentication mode." msgstr "TLS 认è¯" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "显示密ç " #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "密钥文件:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 #, fuzzy msgid "No password specified." msgstr "显示密ç " #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Username:" #~ msgstr "用户å(_U):" #~ msgid "_Domain:" #~ msgstr "域(_D):" #~ msgid "Connect _anonymously" #~ msgstr "匿å连接(_A)" #~ msgid "Connect as _user:" #~ msgstr "连接为用户(_U):" #~ msgid "_Remember password for this session" #~ msgstr "此会è¯è®°ä½å¯†ç (_R)" #~ msgid "_Save password in keyring" #~ msgstr "在密钥环中ä¿å­˜å¯†ç (_S)" #~ msgid "Certificate pass_word:" #~ msgstr "è¯ä¹¦å¯†ç (_W):" #~ msgid "Certificate password:" #~ msgstr "è¯ä¹¦å¯†ç ï¼š" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "é€‰æ‹©ä¸€ä¸ªè®¤è¯æœºæž„è¯ä¹¦..." #~ msgid "Choose your personal certificate..." #~ msgstr "选择您的个人è¯ä¹¦..." #~ msgid "Choose your private key..." #~ msgstr "选择您的ç§é’¥..." #~ msgid "Choose an SSH static key..." #~ msgstr "选择一个 SSH 陿€å¯†é’¥..." #~ msgid "None" #~ msgstr "æ— " #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM 或者 PKCS#12 è¯ä¹¦ (*.pem, *.crt, *.key, *.cer,*.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM è¯ä¹¦ (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH 陿€å¯†é’¥ (*.key)" #~ msgid "Default" #~ msgstr "默认" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "è¯ä¹¦ (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "带有è¯ä¹¦çš„å¯†ç  (TLS)" #~ msgid "Static Key" #~ msgstr "陿€å¯†é’¥" #~ msgid "" #~ "Connect only to servers whose certificate matches the given subject.\n" #~ "Example: /CN=myvpn.company.com" #~ msgstr "" #~ "仅连接到è¯ä¹¦ç¬¦åˆç»™å®šä¸»é¢˜çš„æœåŠ¡å™¨\n" #~ "例å­ï¼š /CN=myvpn.company.com" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "如果å¯ç”¨å¯†é’¥æ–¹å‘,它必须与 VPN 端使用的密钥方å‘相å。例如,VPN 端使用 " #~ "'1',此连接必须使用 '0'。如果您ä¸ç¡®è®¤æ‚¨åº”该使用何值,请è”系网络管ç†å‘˜ã€‚" #~ msgid "" #~ "Select this option if your organization requires the use of a proxy " #~ "server to access the Internet." #~ msgstr "å¦‚æžœæ‚¨çš„ç»„ç»‡è¦æ±‚ä½¿ç”¨ä»£ç†æœåС噍æ¥è®¿é—®äº’è”网,请选择此选项" #~ msgid "CA Certificate:" #~ msgstr "CA 认è¯ï¼š" #~ msgid "Cipher:" #~ msgstr "加密:" #~ msgid "HMAC Authentication:" #~ msgstr "HMAC 认è¯ï¼š" #~ msgid "Key Direction:" #~ msgstr "密钥方å‘:" #~ msgid "Port:" #~ msgstr "端å£ï¼š" #~ msgid "Private Key Password:" #~ msgstr "ç§é’¥å¯†ç ï¼š" #~ msgid "Private Key:" #~ msgstr "ç§é’¥ï¼š" #~ msgid "Proxies" #~ msgstr "代ç†" #~ msgid "Proxy Password:" #~ msgstr "代ç†å¯†ç ï¼š" #~ msgid "Proxy Type:" #~ msgstr "代ç†ç±»åž‹ï¼š" #~ msgid "Restrict tunnel TCP Maximum Segment Size (MSS)" #~ msgstr "é™åˆ¶éš§é“ TCP 最大段长度(MSS)" #~ msgid "Retry indefinitely when errors occur" #~ msgstr "å‘ç”Ÿé”™è¯¯æ—¶é‡æ–°éªŒè¯" #~ msgid "Security" #~ msgstr "安全性" #~ msgid "Server Address:" #~ msgstr "æœåŠ¡å™¨åœ°å€ï¼š" #~ msgid "Static Key:" #~ msgstr "陿€å¯†é’¥ï¼š" #~ msgid "Subject Match:" #~ msgstr "主题匹é…:" #~ msgid "Use L_ZO data compression" #~ msgstr "使用 L_ZO 压缩" #~ msgid "Use a _TCP connection" #~ msgstr "使用 _TCP 连接" #~ msgid "Use additional TLS authentication" #~ msgstr "使用附加 TLS 认è¯" #~ msgid "Use custom UDP _fragment size:" #~ msgstr "ä½¿ç”¨è‡ªå®šä¹‰ç”¨æˆ·æ•°æ®æŠ¥æ®µé•¿åº¦(_F):" #~ msgid "Use custom _renegotiation interval:" #~ msgstr "ä½¿ç”¨è‡ªå®šä¹‰é‡æ–°å商间隔(_R):" #~ msgid "User Certificate:" #~ msgstr "用户è¯ä¹¦ï¼š" #~ msgid "User name:" #~ msgstr "用户å:" #~ msgid "Add, Remove, and Edit VPN Connections" #~ msgstr "添加ã€åˆ é™¤å’Œç¼–辑 VPN 连接" #~ msgid "VPN Connection Manager (SSH)" #~ msgstr "VPN 连接管ç†å™¨(SSH)" #~ msgid "The following SSH connection will be created:" #~ msgstr "å³å°†åˆ›å»ºä¸‹é¢çš„ VPN 连接:" #~ msgid "Name: %s" #~ msgstr "å称:%s" #~ msgid "Connection Type: X.509 Certificates" #~ msgstr "连接类型:X.509 è¯ä¹¦" #~ msgid "CA: %s" #~ msgstr "CA:%s" #~ msgid "Cert: %s" #~ msgstr "è¯ä¹¦ï¼š%s" #~ msgid "Key: %s" #~ msgstr "密钥:%s" #~ msgid "Shared Key: %s" #~ msgstr "共享密钥:%s" #~ msgid "Local IP: %s" #~ msgstr "本地 IP:%s" #~ msgid "Remote IP: %s" #~ msgstr "远程 IP:%s" #~ msgid "Connection Type: Password" #~ msgstr "连接类型:密ç " #~ msgid "Username: %s" #~ msgstr "用户å:%s" #~ msgid "Remote: %s" #~ msgstr "远程:%s" #~ msgid "Device: %s" #~ msgstr "设备:%s" #~ msgid "TAP" #~ msgstr "TAP" #~ msgid "TUN" #~ msgstr "TUN" #~ msgid "Protocol: %s" #~ msgstr "å议:%s" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "UDP" #~ msgstr "UDP" #~ msgid "Routes: %s" #~ msgstr "路由:%s" #~ msgid "Use LZO Compression: %s" #~ msgstr "使用 LZO 压缩:%s" #~ msgid "Yes" #~ msgstr "是" #~ msgid "Cannot import settings" #~ msgstr "无法导入设置" #~ msgid "The VPN settings file '%s' does not contain valid data." #~ msgstr "VPN 设置文件“%sâ€ä¸åŒ…嫿œ‰æ•ˆæ•°æ®ã€‚" #~ msgid "Select file to import" #~ msgstr "选择è¦å¯¼å…¥çš„æ–‡ä»¶" #~ msgid "Select CA to use" #~ msgstr "选择è¦ä½¿ç”¨çš„ CA" #~ msgid "Select certificate to use" #~ msgstr "选择è¦ä½¿ç”¨çš„è¯ä¹¦" #~ msgid "Select key to use" #~ msgstr "选择è¦ä½¿ç”¨çš„密钥" #~ msgid "Select shared key to use" #~ msgstr "选择è¦ä½¿ç”¨çš„共享密钥" #~ msgid "Save as..." #~ msgstr "å¦å­˜ä¸º..." #~ msgid "A file named \"%s\" already exists." #~ msgstr "å·²ç»å­˜åœ¨å为“%sâ€çš„æ–‡ä»¶ã€‚" #~ msgid "Connection Name" #~ msgstr "连接åç§°" #~ msgid "Optional Information" #~ msgstr "å¯é€‰ä¿¡æ¯" #~ msgid "CA file:" #~ msgstr "CA 文件:" #~ msgid "Connection Type:" #~ msgstr "连接类型:" #~ msgid "Remote IP:" #~ msgstr "远程 IP:" #~ msgid "Shared key" #~ msgstr "共享è¦å¯†é’¥" #~ msgid "_Import Saved Configuration..." #~ msgstr "导入ä¿å­˜çš„é…ç½®(_I)..." #~ msgid "_Only use VPN connection for these addresses" #~ msgstr "这些地å€åªä½¿ç”¨ VPN 连接(_O)" #~ msgid "VPN connection failed" #~ msgstr "VPN 连接失败" danfruehauf-NetworkManager-ssh-f65d65d/po/zh_HK.po000066400000000000000000000226321507335542500221430ustar00rootroot00000000000000# Chinese (Hong Kong) translation of NetworkManager-ssh. # Copyright (C) 2007 Free Software Foundation, Inc. # Chao-Hsiung Liao , 2007, 2009. # Wei-Lun Chao , 2010. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh 0.8.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-01-25 19:37+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Hong Kong) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "你需è¦é©—è­‰æ‰èƒ½å­˜å–虛擬ç§äººç¶²çµ¡ã€Œ%sã€ã€‚" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "é©—è­‰ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "密碼:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "密碼(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "第二組密碼(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "密碼" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "兼容於 SSH 伺æœå™¨ã€‚" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "密碼" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "HMAC é©—è­‰:" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "ä¸éœ€è¦" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH 進階é¸é …" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "使用者å稱(_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "進階(_V)…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "é©—è­‰" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "密碼" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "金鑰檔案:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "網域(_D):" #~ msgid "Connect _anonymously" #~ msgstr "匿å連線(_A)" #~ msgid "Connect as _user:" #~ msgstr "以使用者連線(_U):" #~ msgid "_Remember password for this session" #~ msgstr "記ä½é€™å€‹ä½œæ¥­éšŽæ®µçš„密碼(_R)" #~ msgid "_Save password in keyring" #~ msgstr "將密碼儲存到密碼匙圈(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "證書密碼(_W):" #~ msgid "Certificate password:" #~ msgstr "證書密碼:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "鏿“‡ä¸€å€‹æ ¸è­‰æ©Ÿé—œçš„證書…" #~ msgid "Choose your personal certificate..." #~ msgstr "鏿“‡ä½ çš„個人證書…" #~ msgid "Choose your private key..." #~ msgstr "鏿“‡ä½ çš„ç§å¯†å¯†ç¢¼åŒ™â€¦" #~ msgid "Choose an SSH static key..." #~ msgstr "鏿“‡ SSH éœæ…‹å¯†ç¢¼åŒ™â€¦" #~ msgid "None" #~ msgstr "ç„¡" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM 或 PKCS#12 證書 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM 證書 (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH éœæ…‹å¯†ç¢¼åŒ™ (*.key)" #~ msgid "Default" #~ msgstr "é è¨­å€¼" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "證書 (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "證書密碼 (TLS)" #~ msgid "Static Key" #~ msgstr "éœæ…‹å¯†ç¢¼åŒ™" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "如果使用金鑰方å‘,在 VPN å°ç­‰ç«¯ä¹ŸåŒæ¨£å¿…須使用。舉例來說,如果å°ç­‰ç«¯ä½¿ç”¨" #~ "「1ã€ï¼Œé€™å€‹é€£ç·šå¿…須使用「0ã€ã€‚如果您ä¸ç¢ºå®šè¦ä½¿ç”¨ä»€éº¼æ•¸å€¼ï¼Œè«‹é€£çµ¡æ‚¨çš„系統管" #~ "ç†å“¡ã€‚" #~ msgid "CA Certificate:" #~ msgstr "CA 憑證:" #~ msgid "Cipher:" #~ msgstr "加密器:" #~ msgid "Key Direction:" #~ msgstr "金鑰方å‘:" danfruehauf-NetworkManager-ssh-f65d65d/po/zh_TW.po000066400000000000000000000226201507335542500221700ustar00rootroot00000000000000# Chinese (Taiwan) translation of NetworkManager-ssh. # Copyright (C) 2007 Free Software Foundation, Inc. # Chao-Hsiung Liao , 2007, 2009. # Wei-Lun Chao , 2010. # msgid "" msgstr "" "Project-Id-Version: NetworkManager-ssh 0.8.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-15 17:00+1000\n" "PO-Revision-Date: 2011-01-25 17:31+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. #. #: ../auth-dialog/main.c:141 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "您需è¦é©—è­‰æ‰èƒ½å­˜å–虛擬ç§äººç¶²è·¯ã€Œ%sã€ã€‚" #: ../auth-dialog/main.c:150 ../auth-dialog/main.c:170 msgid "Authenticate VPN" msgstr "é©—è­‰ VPN" #: ../auth-dialog/main.c:152 ../properties/nm-ssh-dialog.ui.h:27 msgid "Password:" msgstr "密碼:" #: ../auth-dialog/main.c:291 #, c-format msgid "" "Couldn't find '%s' environment variable.\n" "\n" "Is ssh-agent running?" msgstr "" #: ../auth-dialog/vpn-password-dialog.c:95 msgid "_Password:" msgstr "密碼(_P):" #: ../auth-dialog/vpn-password-dialog.c:97 msgid "_Secondary Password:" msgstr "第二組密碼(_S):" #: ../auth-dialog/vpn-password-dialog.c:240 #, fuzzy msgid "Sh_ow passwords" msgstr "密碼" #: ../properties/advanced-dialog.c:137 msgid "" "You have chosen not to use 'root' as the remote username.\n" "\n" "Please make sure the user you specify is allowed to open tun/tap devices on " "the remote host." msgstr "" #: ../properties/nm-ssh.c:49 msgid "SSH" msgstr "SSH" #: ../properties/nm-ssh.c:50 msgid "Compatible with the SSH server." msgstr "相容於 SSH 伺æœå™¨ã€‚" #: ../properties/nm-ssh.c:457 msgid "Saved" msgstr "" #: ../properties/nm-ssh.c:464 msgid "Always Ask" msgstr "" #: ../properties/nm-ssh.c:620 msgid "SSH Agent" msgstr "" #: ../properties/nm-ssh.c:633 msgid "Password" msgstr "密碼" #: ../properties/nm-ssh.c:646 #, fuzzy msgid "Key Authentication" msgstr "HMAC é©—è­‰:" #: ../properties/nm-ssh-dialog.ui.h:1 msgid " " msgstr " " #: ../properties/nm-ssh-dialog.ui.h:2 msgid "Not required" msgstr "ä¸éœ€è¦" #: ../properties/nm-ssh-dialog.ui.h:3 msgid "SSH Advanced Options" msgstr "SSH 進階é¸é …" #: ../properties/nm-ssh-dialog.ui.h:4 msgid "Use custom gateway port:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:5 msgid "Use custom tunnel Maximum Transmission Unit (MTU):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:6 msgid "Extra SSH options:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:7 msgid "Remote device number:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:8 msgid "Use a TAP device" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:9 #, fuzzy msgid "Remote username:" msgstr "使用者å稱(_U):" #: ../properties/nm-ssh-dialog.ui.h:10 msgid "Do not replace default route" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:11 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:12 msgid "General" msgstr "一般" #: ../properties/nm-ssh-dialog.ui.h:13 msgid "Gateway:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:14 msgid "Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:15 #, fuzzy msgid "Remote IP Address:" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:16 msgid "Local IP Address:" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:17 msgid "Netmask:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:18 msgid "IPv6 Network Settings" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:19 msgid "Use IPv6" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:20 #, fuzzy msgid "Remote IP Address (IPv6):" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:21 #, fuzzy msgid "Local IP Address (IPv6):" msgstr "本地端 IP ä½å€:" #: ../properties/nm-ssh-dialog.ui.h:22 msgid "Prefix (IPv6):" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:23 #, fuzzy msgid "Advanced..." msgstr "進階(_V)…" #: ../properties/nm-ssh-dialog.ui.h:24 msgid "Authentication" msgstr "é©—è­‰" #: ../properties/nm-ssh-dialog.ui.h:25 msgid "Type:" msgstr "" #: ../properties/nm-ssh-dialog.ui.h:26 msgid "Select an authentication mode." msgstr "" #: ../properties/nm-ssh-dialog.ui.h:28 #, fuzzy msgid "Show Passwords" msgstr "密碼" #: ../properties/nm-ssh-dialog.ui.h:29 #, fuzzy msgid "SSH Key File:" msgstr "金鑰檔案:" #: ../src/nm-ssh-service.c:195 #, c-format msgid "invalid address '%s'" msgstr "" #: ../src/nm-ssh-service.c:207 #, c-format msgid "invalid integer property '%s' or out of range [%d -> %d]" msgstr "" #: ../src/nm-ssh-service.c:217 #, c-format msgid "invalid boolean property '%s' (not yes or no)" msgstr "" #: ../src/nm-ssh-service.c:224 #, c-format msgid "unhandled property '%s' type %s" msgstr "" #: ../src/nm-ssh-service.c:235 #, c-format msgid "property '%s' invalid or not supported" msgstr "" #: ../src/nm-ssh-service.c:252 msgid "No VPN configuration options." msgstr "" #: ../src/nm-ssh-service.c:1010 msgid "Could not find the ssh binary." msgstr "" #: ../src/nm-ssh-service.c:1035 msgid "Could not find the sshpass binary." msgstr "" #: ../src/nm-ssh-service.c:1053 msgid "No password specified." msgstr "" #: ../src/nm-ssh-service.c:1090 msgid "Key authentication selected, but no key file specified." msgstr "" #: ../src/nm-ssh-service.c:1110 msgid "Missing required SSH_AUTH_SOCK." msgstr "" #: ../src/nm-ssh-service.c:1124 ../src/nm-ssh-service.c:1584 #, c-format msgid "Unknown authentication type: %s." msgstr "" #: ../src/nm-ssh-service.c:1194 #, c-format msgid "Please set remote address." msgstr "" #: ../src/nm-ssh-service.c:1210 #, c-format msgid "Invalid port number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1229 #, c-format msgid "Invalid TUN MTU size '%s'." msgstr "" #: ../src/nm-ssh-service.c:1248 #, c-format msgid "Invalid TUN/TAP device number '%s'." msgstr "" #: ../src/nm-ssh-service.c:1267 msgid "Missing required remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1281 msgid "Missing required local IP address." msgstr "" #: ../src/nm-ssh-service.c:1297 msgid "Missing required netmask." msgstr "" #: ../src/nm-ssh-service.c:1317 msgid "Missing required IPv6 remote IP address." msgstr "" #: ../src/nm-ssh-service.c:1331 msgid "Missing required IPv6 local IP address." msgstr "" #: ../src/nm-ssh-service.c:1345 msgid "Missing required IPv6 netmask." msgstr "" #: ../src/nm-ssh-service.c:1504 ../src/nm-ssh-service.c:1546 msgid "" "Could not process the request because the VPN connection settings were " "invalid." msgstr "" #: ../src/nm-ssh-service.c:1708 msgid "Don't quit when VPN connection terminates" msgstr "" #: ../src/nm-ssh-service.c:1709 msgid "Enable verbose debug logging (may expose passwords)" msgstr "" #: ../src/nm-ssh-service.c:1725 msgid "nm-ssh-service provides integrated SSH capability to NetworkManager." msgstr "" #~ msgid "_Domain:" #~ msgstr "網域(_D):" #~ msgid "Connect _anonymously" #~ msgstr "匿å連線(_A)" #~ msgid "Connect as _user:" #~ msgstr "以使用者連線(_U):" #~ msgid "_Remember password for this session" #~ msgstr "記ä½é€™å€‹ä½œæ¥­éšŽæ®µçš„密碼(_R)" #~ msgid "_Save password in keyring" #~ msgstr "將密碼儲存到鑰匙圈(_S)" #~ msgid "Certificate pass_word:" #~ msgstr "憑證密碼(_W):" #~ msgid "Certificate password:" #~ msgstr "憑證密碼:" #~ msgid "Choose a Certificate Authority certificate..." #~ msgstr "鏿“‡ä¸€å€‹æ†‘證管ç†ä¸­å¿ƒçš„æ†‘證…" #~ msgid "Choose your personal certificate..." #~ msgstr "鏿“‡æ‚¨çš„個人憑證…" #~ msgid "Choose your private key..." #~ msgstr "鏿“‡æ‚¨çš„ç§å¯†é‡‘鑰…" #~ msgid "Choose an SSH static key..." #~ msgstr "鏿“‡ SSH éœæ…‹é‡‘鑰…" #~ msgid "None" #~ msgstr "ç„¡" #~ msgid "PEM or PKCS#12 certificates (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgstr "PEM 或 PKCS#12 憑證 (*.pem, *.crt, *.key, *.cer, *.p12)" #~ msgid "PEM certificates (*.pem, *.crt, *.key, *.cer)" #~ msgstr "PEM 憑證 (*.pem, *.crt, *.key, *.cer)" #~ msgid "SSH Static Keys (*.key)" #~ msgstr "SSH éœæ…‹é‡‘é‘° (*.key)" #~ msgid "Default" #~ msgstr "é è¨­å€¼" #~ msgid "MD-5" #~ msgstr "MD-5" #~ msgid "SHA-1" #~ msgstr "SHA-1" #~ msgid "SHA-224" #~ msgstr "SHA-224" #~ msgid "SHA-256" #~ msgstr "SHA-256" #~ msgid "SHA-384" #~ msgstr "SHA-384" #~ msgid "SHA-512" #~ msgstr "SHA-512" #~ msgid "RIPEMD-160" #~ msgstr "RIPEMD-160" #~ msgid "HTTP" #~ msgstr "HTTP" #~ msgid "SOCKS" #~ msgstr "SOCKS" #~ msgid "Certificates (TLS)" #~ msgstr "憑證 (TLS)" #~ msgid "Password with Certificates (TLS)" #~ msgstr "憑證密碼 (TLS)" #~ msgid "Static Key" #~ msgstr "éœæ…‹é‡‘é‘°" #~ msgid "" #~ "If key direction is used, it must be the opposite of that used on the " #~ "VPN peer. For example, if the peer uses '1', this connection must use " #~ "'0'. If you are unsure what value to use, contact your system " #~ "administrator." #~ msgstr "" #~ "如果使用金鑰方å‘,在 VPN å°ç­‰ç«¯ä¹ŸåŒæ¨£å¿…須使用。舉例來說,如果å°ç­‰ç«¯ä½¿ç”¨" #~ "「1ã€ï¼Œé€™å€‹é€£ç·šå¿…須使用「0ã€ã€‚如果您ä¸ç¢ºå®šè¦ä½¿ç”¨ä»€éº¼æ•¸å€¼ï¼Œè«‹é€£çµ¡æ‚¨çš„系統管" #~ "ç†å“¡ã€‚" #~ msgid "CA Certificate:" #~ msgstr "CA 憑證:" #~ msgid "Cipher:" #~ msgstr "加密器:" #~ msgid "Key Direction:" #~ msgstr "金鑰方å‘:" danfruehauf-NetworkManager-ssh-f65d65d/properties/000077500000000000000000000000001507335542500223515ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/properties/.gitignore000066400000000000000000000004221507335542500243370ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app Makefile Makefile.in .deps .libs libnm-ssh-properties.la libnm_ssh_properties_la-advanced-dialog.lo libnm_ssh_properties_la-nm-ssh.lo danfruehauf-NetworkManager-ssh-f65d65d/properties/advanced-dialog.c000066400000000000000000000447141507335542500255310ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Copyright (C) 2022 Red Hat, Inc. * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #ifdef NM_SSH_OLD #define NM_VPN_LIBNM_COMPAT #include #include #else /* !NM_SSH_OLD */ #include #endif #include "advanced-dialog.h" #include "nm-ssh-editor.h" #include "nm-service-defines.h" static const char *advanced_keys[] = { NM_SSH_KEY_PORT, NM_SSH_KEY_TUNNEL_MTU, NM_SSH_KEY_REMOTE_DEV, NM_SSH_KEY_TAP_DEV, NM_SSH_KEY_REMOTE_USERNAME, NM_SSH_KEY_SUDO, NM_SSH_KEY_NO_REMOTE_COMMAND, NM_SSH_KEY_NO_TUNNEL_INTERFACE, NM_SSH_KEY_SOCKS_BIND_ADDRESS, NM_SSH_KEY_LOCAL_BIND_ADDRESS, NM_SSH_KEY_REMOTE_BIND_ADDRESS, NULL }; static void copy_values (const char *key, const char *value, gpointer user_data) { GHashTable *hash = (GHashTable *) user_data; const char **i; for (i = &advanced_keys[0]; *i; i++) { if (strncmp (key, *i, strlen(key))) continue; g_hash_table_insert (hash, g_strdup (key), g_strdup (value)); } } GHashTable * advanced_dialog_new_hash_from_connection (NMConnection *connection, GError **error) { GHashTable *hash; NMSettingVpn *s_vpn; hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); s_vpn = (NMSettingVpn *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN); nm_setting_vpn_foreach_data_item (s_vpn, copy_values, hash); return hash; } static void port_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_spinbutton")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void tunmtu_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_spinbutton")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void remote_dev_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_spinbutton")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void remote_username_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "user_warning_revealer")); gtk_revealer_set_reveal_child (GTK_REVEALER (widget), gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void no_tunnel_interface_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void socks_bind_address_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void local_bind_address_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void remote_bind_address_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } GtkWidget * advanced_dialog_new (GHashTable *hash) { GtkBuilder *builder; GtkWidget *dialog = NULL; GtkWidget *widget; const char *value; GError *error = NULL; long int tmp; g_return_val_if_fail (hash != NULL, NULL); builder = gtk_builder_new (); gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); if (!gtk_builder_add_from_resource (builder, "/org/freedesktop/network-manager-ssh/nm-ssh-dialog.ui", &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); g_object_unref (G_OBJECT (builder)); goto out; } dialog = GTK_WIDGET (gtk_builder_get_object (builder, "ssh_advanced_dialog")); if (!dialog) { g_object_unref (G_OBJECT (builder)); goto out; } gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); g_object_set_data_full (G_OBJECT (dialog), "builder", builder, (GDestroyNotify) g_object_unref); widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (port_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_PORT); if (value && strlen (value)) { errno = 0; tmp = strtol (value, NULL, 10); if (errno == 0 && tmp > 0 && tmp < 65536) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) tmp); } gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) NM_SSH_DEFAULT_PORT); gtk_widget_set_sensitive (widget, FALSE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (tunmtu_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_TUNNEL_MTU); if (value && strlen (value)) { errno = 0; tmp = strtol (value, NULL, 10); if (errno == 0 && tmp > 0 && tmp < 65536) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) tmp); gtk_widget_set_sensitive (widget, TRUE); } } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) NM_SSH_DEFAULT_MTU); gtk_widget_set_sensitive (widget, FALSE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (remote_dev_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_REMOTE_DEV); if (value && strlen (value)) { errno = 0; tmp = strtol (value, NULL, 10); if (errno == 0 && tmp >= 0 && tmp < 256) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) tmp); } gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_spinbutton")); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) NM_SSH_DEFAULT_REMOTE_DEV); gtk_widget_set_sensitive (widget, FALSE); } value = g_hash_table_lookup (hash, NM_SSH_KEY_TAP_DEV); if (value && IS_YES(value)) { widget = GTK_WIDGET (gtk_builder_get_object (builder, "tap_checkbutton")); gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (remote_username_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_REMOTE_USERNAME); if (value && strlen (value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), value); gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), NM_SSH_DEFAULT_REMOTE_USERNAME); gtk_widget_set_sensitive (widget, FALSE); } value = g_hash_table_lookup (hash, NM_SSH_KEY_SUDO); if (value && IS_YES(value)) { widget = GTK_WIDGET (gtk_builder_get_object (builder, "sudo_checkbutton")); gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); } value = g_hash_table_lookup (hash, NM_SSH_KEY_NO_REMOTE_COMMAND); if (value && IS_YES(value)) { widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_remote_command_checkbutton")); gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (no_tunnel_interface_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_NO_TUNNEL_INTERFACE); if (value && strlen (value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), value); gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), NM_SSH_DEFAULT_NO_TUNNEL_INTERFACE); gtk_widget_set_sensitive (widget, FALSE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (socks_bind_address_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_SOCKS_BIND_ADDRESS); if (value && strlen (value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), value); gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), NM_SSH_DEFAULT_SOCKS_BIND_ADDRESS); gtk_widget_set_sensitive (widget, FALSE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (local_bind_address_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_LOCAL_BIND_ADDRESS); if (value && strlen (value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), value); gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), NM_SSH_DEFAULT_LOCAL_BIND_ADDRESS); gtk_widget_set_sensitive (widget, FALSE); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (remote_bind_address_toggled_cb), builder); value = g_hash_table_lookup (hash, NM_SSH_KEY_REMOTE_BIND_ADDRESS); if (value && strlen (value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), value); gtk_widget_set_sensitive (widget, TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_entry")); gtk_editable_set_text (GTK_EDITABLE (widget), NM_SSH_DEFAULT_REMOTE_BIND_ADDRESS); gtk_widget_set_sensitive (widget, FALSE); } out: return dialog; } GHashTable * advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error) { GHashTable *hash; GtkWidget *widget; GtkBuilder *builder; g_return_val_if_fail (dialog != NULL, NULL); if (error) g_return_val_if_fail (*error == NULL, NULL); builder = g_object_get_data (G_OBJECT (dialog), "builder"); g_return_val_if_fail (builder != NULL, NULL); hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { int tunmtu_size; widget = GTK_WIDGET (gtk_builder_get_object (builder, "tunmtu_spinbutton")); tunmtu_size = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_TUNNEL_MTU), g_strdup_printf ("%d", tunmtu_size)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { int port; widget = GTK_WIDGET (gtk_builder_get_object (builder, "port_spinbutton")); port = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_PORT), g_strdup_printf ("%d", port)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { int remote_dev; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_dev_spinbutton")); remote_dev = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_REMOTE_DEV), g_strdup_printf ("%d", remote_dev)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "tap_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_TAP_DEV), g_strdup (YES)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { const gchar *remote_username; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_username_entry")); remote_username = gtk_editable_get_text (GTK_EDITABLE (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_REMOTE_USERNAME), g_strdup(remote_username)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "sudo_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_SUDO), g_strdup (YES)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_remote_command_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_NO_REMOTE_COMMAND), g_strdup (YES)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { const gchar *no_tunnel_interface; widget = GTK_WIDGET (gtk_builder_get_object (builder, "no_tunnel_interface_entry")); no_tunnel_interface = gtk_editable_get_text (GTK_EDITABLE (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_NO_TUNNEL_INTERFACE), g_strdup(no_tunnel_interface)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { const gchar *socks_bind_address; widget = GTK_WIDGET (gtk_builder_get_object (builder, "socks_bind_address_entry")); socks_bind_address = gtk_editable_get_text (GTK_EDITABLE (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_SOCKS_BIND_ADDRESS), g_strdup(socks_bind_address)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { const gchar *local_bind_address; widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_bind_address_entry")); local_bind_address = gtk_editable_get_text (GTK_EDITABLE (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_LOCAL_BIND_ADDRESS), g_strdup(local_bind_address)); } widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { const gchar *remote_bind_address; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_bind_address_entry")); remote_bind_address = gtk_editable_get_text (GTK_EDITABLE (widget)); g_hash_table_insert (hash, g_strdup (NM_SSH_KEY_REMOTE_BIND_ADDRESS), g_strdup(remote_bind_address)); } return hash; } danfruehauf-NetworkManager-ssh-f65d65d/properties/advanced-dialog.h000066400000000000000000000026611507335542500255310ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #ifndef _AUTH_HELPERS_H_ #define _AUTH_HELPERS_H_ #include #include #include #include GtkWidget *advanced_dialog_new (GHashTable *hash); GHashTable *advanced_dialog_new_hash_from_connection (NMConnection *connection, GError **error); GHashTable *advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error); #endif danfruehauf-NetworkManager-ssh-f65d65d/properties/gresource.xml000066400000000000000000000003101507335542500250630ustar00rootroot00000000000000 nm-ssh-dialog.ui danfruehauf-NetworkManager-ssh-f65d65d/properties/nm-ssh-dialog.ui000066400000000000000000001564531507335542500253700ustar00rootroot00000000000000 1 65535 22 1 10 1 65535 1500 1 10 255 1 10 Not required SSH Advanced Options True stock-preferences True 2 True _Cancel True True False False False 0 _Apply True True False False False 1 False True end 0 True False True True False You have chosen not to use 'root' as the remote username. Please make sure the user you specify is allowed to open tun/tap devices on the remote host. Alternatively, allow the remote device to be handled by any user by running as root, on the remote host: ip tuntap add name TUN_DEVICE mode tun user USER False True 1 True True 6 True 6 Use custom gateway port: True False True True False True 0 True adjustment1 1 True False False 1 False True 0 True 6 Use custom tunnel Maximum Transmission Unit (MTU): True False True True False True 0 True adjustment2 1 True False False 1 False True 1 True 6 Remote device number: True False True True False True 0 True adjustment3 1 True False False 1 False True 2 True 6 Use a TAP device True False True True False True 0 False True 3 True 6 Remote username: True False True True False True 0 True â— root True True True 1 False True 4 True 6 Use sudo for remote commands True False True True False True 0 False True 5 True 6 Disable remote command (-N) True False True True False True 0 False True 6 True 6 No tunnel (specify dummy interface): True False True True False True 0 True dummy0 True True 1 False True 7 True 6 SOCKS bind addresses (-D, space separated): True False True True False True 0 True localhost:8080 True True 1 False True 8 True 6 Local bind addresses (-L, space separated): True False True True False True 0 True localhost:8080:localhost:8080 True True 1 False True 9 True 6 Remote bind addresses (-R, space separated): True False True True False True 9 True localhost:8080:localhost:8080 True True 1 False True 10 True General False False False 2 cancel_button ok_button True 16 True 6 True 0 General 6 False False 0 True 6 6 True 1 Gateway True gateway_entry True 1 False False 1 False False 0 True 6 True 0 Network Settings 12 6 False False 0 True 6 6 True False False True 6 6 True 1 Remote IP Address right True 172.16.40.1 1 True 1 Local IP Address right 0 1 True 172.16.40.2 1 1 True 1 Netmask right 0 2 True â— 255.255.255.252 True 1 2 False False 1 0 IPv6 Network Settings 12 6 False False 2 True 6 6 True False False True 6 6 Use IPv6 True False True True True 1 Remote IP Address (IPv6) right 0 1 True â— 2001:db8:abba:1000::1 True 1 1 True 1 Local IP Address (IPv6) right 0 2 True â— 2001:db8:abba:1000::2 True 1 2 True 1 Prefix (IPv6) right 0 3 True â— 64 True 1 3 False False 3 False False 1 True 6 True 0 Authentication 12 6 False False 0 True 6 6 True 1 Type 0 True Select an authentication mode. model2 0 1 True True 1 True False False True 6 6 True page 1 False True 6 6 True 1 Password True gateway_entry True â— True 1 Show Passwords True False True True 0 1 True model2 0 1 1 1 True page 2 1 False True 6 6 True 1 SSH Key File True gateway_entry True False True True False True False (None) True 0 True True 0 True False document-open-symbolic False True 1 1 2 True page 3 2 False True True 2 False True 3 True True False True 6 True preferences-system-symbolic False False 0 True Advanced... False False 1 False False end 2 True auth_keyfile_chooser_cancel auth_keyfile_chooser_accept True False True Choose a SSH private key… _Cancel True False True _Select True True True True 1 end danfruehauf-NetworkManager-ssh-f65d65d/properties/nm-ssh-editor-plugin.c000066400000000000000000000531271507335542500265120ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Copyright (C) 2022 Red Hat, Inc. * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #include "nm-default.h" #include "nm-ssh-editor-plugin.h" #ifdef NM_VPN_OLD #include "nm-ssh-editor.h" #else #include "nm-utils/nm-vpn-plugin-utils.h" #endif #define SSH_PLUGIN_NAME _("SSH") #define SSH_PLUGIN_DESC _("Compatible with the SSH server.") #define SSH_PLUGIN_SERVICE NM_DBUS_SERVICE_SSH #define PARSE_IMPORT_KEY(IMPORT_KEY, NM_SSH_KEY, ITEMS, VPN_CONN) \ if (!strncmp (ITEMS[0], IMPORT_KEY, strlen (ITEMS[0]))) { \ nm_setting_vpn_add_data_item (VPN_CONN, NM_SSH_KEY, ITEMS[1]); \ g_free(ITEMS); \ continue; \ } #define PARSE_IMPORT_KEY_QUOTES(IMPORT_KEY, NM_SSH_KEY, ITEMS, VPN_CONN) \ if (!strncmp (ITEMS[0], IMPORT_KEY, strlen (ITEMS[0]))) { \ if (ITEMS[1][0] == '"' && items[1][strlen(items[1]) - 1] == '"') \ { \ ITEMS[1][strlen(items[1]) - 1] = '\0'; \ ITEMS[1]++; \ } \ nm_setting_vpn_add_data_item (VPN_CONN, NM_SSH_KEY, ITEMS[1]); \ g_free(ITEMS); \ continue; \ } #define PARSE_IMPORT_KEY_BOOL(IMPORT_KEY, NM_SSH_KEY, ITEMS, VPN_CONN, VALUE) \ if (!strncmp (ITEMS[0], IMPORT_KEY, strlen (ITEMS[0]))) { \ if (!strncmp(ITEMS[1], VALUE, strlen(ITEMS[1]))) { \ g_message("%s=%s", NM_SSH_KEY, ITEMS[1]); \ nm_setting_vpn_add_data_item (VPN_CONN, NM_SSH_KEY, YES); \ } \ g_free (ITEMS); \ continue; \ } #define PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_STR(IMPORT_KEY, NM_SSH_KEY, ITEMS, VPN_CONN, DEFAULT_VALUE) \ if (!strncmp (ITEMS[0], IMPORT_KEY, strlen (ITEMS[0]))) { \ if (strncmp(ITEMS[1], DEFAULT_VALUE, strlen(ITEMS[1]))) \ nm_setting_vpn_add_data_item (VPN_CONN, NM_SSH_KEY, ITEMS[1]); \ g_free (ITEMS); \ continue; \ } #define PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_INT(IMPORT_KEY, NM_SSH_KEY, ITEMS, VPN_CONN, DEFAULT_VALUE) \ if (!strncmp (ITEMS[0], IMPORT_KEY, strlen (ITEMS[0]))) { \ char *tmp = g_strdup_printf("%d", DEFAULT_VALUE); \ if (strncmp(ITEMS[1], tmp, strlen(ITEMS[1]))) \ nm_setting_vpn_add_data_item (VPN_CONN, NM_SSH_KEY, ITEMS[1]); \ g_free (ITEMS); \ g_free (tmp); \ continue; \ } enum { PROP_0, PROP_NAME, PROP_DESC, PROP_SERVICE }; static void ssh_editor_plugin_interface_init (NMVpnEditorPluginInterface *iface_class); G_DEFINE_TYPE_EXTENDED (SshEditorPlugin, ssh_editor_plugin, G_TYPE_OBJECT, 0, G_IMPLEMENT_INTERFACE (NM_TYPE_VPN_EDITOR_PLUGIN, ssh_editor_plugin_interface_init)) static NMConnection * import (NMVpnEditorPlugin *iface, const char *path, GError **error) { NMConnection *connection = NULL; NMSettingConnection *s_con; NMSettingVpn *s_vpn; char *contents = NULL; char **lines = NULL; char *ext; char **line; ext = strrchr (path, '.'); if (!ext) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "unknown SSH file extension, should be .sh"); goto out; } if (strncmp (ext, ".sh", strlen(".sh"))) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "unknown SSH file extension, should be .sh"); goto out; } if (!g_file_get_contents (path, &contents, NULL, error)) return NULL; if (!g_utf8_validate (contents, -1, NULL)) { char *tmp; GError *conv_error = NULL; tmp = g_locale_to_utf8 (contents, -1, NULL, NULL, &conv_error); if (conv_error) { /* ignore the error, we tried at least. */ g_error_free (conv_error); g_free (tmp); } else { g_assert (tmp); g_free (contents); contents = tmp; /* update contents with the UTF-8 safe text */ } } lines = g_strsplit_set (contents, "\r\n", 0); if (g_strv_length (lines) <= 1) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "not a valid SSH configuration file"); goto out; } connection = nm_simple_connection_new (); s_con = NM_SETTING_CONNECTION (nm_setting_connection_new ()); nm_connection_add_setting (connection, NM_SETTING (s_con)); s_vpn = NM_SETTING_VPN (nm_setting_vpn_new ()); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, NM_DBUS_SERVICE_SSH, NULL); for (line = lines; *line; line++) { char *comment; char **items = NULL; if ((comment = strchr (*line, '#'))) *comment = '\0'; if ((comment = strchr (*line, ';'))) *comment = '\0'; if (!strlen (*line)) continue; items = g_strsplit_set (*line, "=", 0); if (!items) { continue; } else { /* Uncomment if you'd like to debug parsing of items */ /* g_message("%s = %s", items[0], items[1]); */ } /* the PARSE_IMPORT_KEY will save heaps of lines of code, it's * on the top of the file if you're looking for it */ PARSE_IMPORT_KEY (REMOTE_KEY, NM_SSH_KEY_REMOTE, items, s_vpn) PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_STR (AUTH_TYPE_KEY, NM_SSH_KEY_AUTH_TYPE, items, s_vpn, NM_SSH_AUTH_TYPE_SSH_AGENT) PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_STR (REMOTE_USERNAME_KEY, NM_SSH_KEY_REMOTE_USERNAME, items, s_vpn, NM_SSH_DEFAULT_REMOTE_USERNAME); PARSE_IMPORT_KEY (NO_TUNNEL_INTERFACE, NM_SSH_KEY_NO_TUNNEL_INTERFACE, items, s_vpn); PARSE_IMPORT_KEY_QUOTES (SOCKS_BIND_ADDRESS, NM_SSH_KEY_SOCKS_BIND_ADDRESS, items, s_vpn); PARSE_IMPORT_KEY_QUOTES (LOCAL_BIND_ADDRESS, NM_SSH_KEY_LOCAL_BIND_ADDRESS, items, s_vpn); PARSE_IMPORT_KEY_QUOTES (REMOTE_BIND_ADDRESS, NM_SSH_KEY_REMOTE_BIND_ADDRESS, items, s_vpn); PARSE_IMPORT_KEY (KEY_FILE_KEY, NM_SSH_KEY_KEY_FILE, items, s_vpn) PARSE_IMPORT_KEY (REMOTE_IP_KEY, NM_SSH_KEY_REMOTE_IP, items, s_vpn) PARSE_IMPORT_KEY (LOCAL_IP_KEY, NM_SSH_KEY_LOCAL_IP, items, s_vpn) PARSE_IMPORT_KEY (NETMASK_KEY, NM_SSH_KEY_NETMASK, items, s_vpn) PARSE_IMPORT_KEY (IP_6_KEY, NM_SSH_KEY_IP_6, items, s_vpn) PARSE_IMPORT_KEY (REMOTE_IP_6_KEY, NM_SSH_KEY_REMOTE_IP_6, items, s_vpn) PARSE_IMPORT_KEY (LOCAL_IP_6_KEY, NM_SSH_KEY_LOCAL_IP_6, items, s_vpn) PARSE_IMPORT_KEY (NETMASK_6_KEY, NM_SSH_KEY_NETMASK_6, items, s_vpn) PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_INT (PORT_KEY, NM_SSH_KEY_PORT, items, s_vpn, NM_SSH_DEFAULT_PORT) PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_INT (MTU_KEY, NM_SSH_KEY_TUNNEL_MTU, items, s_vpn, NM_SSH_DEFAULT_MTU) PARSE_IMPORT_KEY_WITH_DEFAULT_VALUE_INT (REMOTE_DEV_KEY, NM_SSH_KEY_REMOTE_DEV, items, s_vpn, NM_SSH_DEFAULT_REMOTE_DEV) PARSE_IMPORT_KEY_BOOL (DEV_TYPE_KEY, NM_SSH_KEY_TAP_DEV, items, s_vpn, "tap") PARSE_IMPORT_KEY_BOOL (SUDO_KEY, NM_SSH_KEY_SUDO, items, s_vpn, "1") PARSE_IMPORT_KEY_BOOL (NO_REMOTE_COMMAND_KEY, NM_SSH_KEY_NO_REMOTE_COMMAND, items, s_vpn, "1") } if (connection) nm_connection_add_setting (connection, NM_SETTING (s_vpn)); else if (s_vpn) g_object_unref (s_vpn); out: if (lines) g_strfreev (lines); g_free (contents); return connection; } static gboolean export (NMVpnEditorPlugin *iface, const char *path, NMConnection *connection, GError **error) { NMSettingConnection *s_con; NMSettingVpn *s_vpn; FILE *f; const char *value; const char *auth_type = NULL; const char *key_file = NULL; const char *gateway = NULL; const char *port = NULL; const char *local_ip = NULL; const char *remote_ip = NULL; const char *netmask = NULL; const char *local_ip_6 = NULL; const char *remote_ip_6 = NULL; const char *netmask_6 = NULL; const char *remote_dev = NULL; const char *mtu = NULL; const char *remote_username = NULL; const char *no_tunnel_interface = NULL; const char *socks_bind_address = NULL; const char *local_bind_address = NULL; const char *remote_bind_address = NULL; char *device_type = NULL; char *tunnel_type = NULL; char *sudo = NULL; char *ip_link_cmd_local = NULL; char *ip_link_cmd_remote = NULL; char *ip_addr_cmd_local_4 = NULL; char *ip_addr_cmd_remote_4 = NULL; char *ip_addr_cmd_local_6 = NULL; char *ip_addr_cmd_remote_6 = NULL; char *preferred_authentication = NULL; unsigned password_prompt_nr = 0; gboolean no_remote_command = FALSE; gboolean ipv6 = FALSE; gboolean success = FALSE; char **bind_addresses = NULL; char **bind_address = NULL; s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); g_assert (s_con); s_vpn = (NMSettingVpn *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN); f = fopen (path, "w"); if (!f) { g_set_error (error, 0, 0, "could not open file for writing"); return FALSE; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE); if (value && strlen (value)) gateway = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing gateway)"); goto done; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP); if (value && strlen (value)) remote_ip = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing remote IP)"); goto done; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP); if (value && strlen (value)) local_ip = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing local IP)"); goto done; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK); if (value && strlen (value)) netmask = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing netmask)"); goto done; } /* Auth type */ auth_type = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_AUTH_TYPE); if (auth_type) { if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { password_prompt_nr = 1; preferred_authentication = g_strdup("password"); } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) { key_file = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_KEY_FILE); preferred_authentication = g_strdup("publickey"); } else { // (!strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) { // Nothing to be done for ssh-agent, the wise choice... preferred_authentication = g_strdup("publickey"); } } /* Auth type */ /* Advanced values start */ value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_PORT); if (value && strlen (value)) port = value; else port = g_strdup_printf("%d", NM_SSH_DEFAULT_PORT); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_TUNNEL_MTU); if (value && strlen (value)) mtu = value; else mtu = g_strdup_printf("%d", NM_SSH_DEFAULT_MTU); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_DEV); if (value && strlen (value)) remote_dev = value; else remote_dev = g_strdup_printf("%d", NM_SSH_DEFAULT_REMOTE_DEV); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_USERNAME); if (value && strlen (value)) remote_username = value; else remote_username = g_strdup(NM_SSH_DEFAULT_REMOTE_USERNAME); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NO_TUNNEL_INTERFACE); if (value && strlen (value)) no_tunnel_interface = value; else no_tunnel_interface = NULL; value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_SOCKS_BIND_ADDRESS); if (value && strlen (value)) socks_bind_address = value; else socks_bind_address = NULL; value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_BIND_ADDRESS); if (value && strlen (value)) local_bind_address = value; else local_bind_address = NULL; value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_BIND_ADDRESS); if (value && strlen (value)) remote_bind_address = value; else remote_bind_address = NULL; value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_TAP_DEV); if (value && IS_YES(value)) { device_type = g_strdup("tap"); tunnel_type = g_strdup("ethernet"); } else { device_type = g_strdup("tun"); tunnel_type = g_strdup("point-to-point"); } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_SUDO); if (value && IS_YES(value)) { sudo = g_strdup_printf("%s ", SUDO); } else { sudo = g_strdup(""); } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NO_REMOTE_COMMAND); if (value && IS_YES(value)) { no_remote_command = TRUE; } else { no_remote_command = FALSE; } ip_link_cmd_local = g_strdup_printf("%s%s link set mtu $MTU dev $DEV_TYPE$LOCAL_DEV up", sudo, IPROUTE2); ip_link_cmd_remote = g_strdup_printf("%s%s link set mtu $MTU dev $DEV_TYPE$REMOTE_DEV up", sudo, IPROUTE2); ip_addr_cmd_local_4 = g_strdup_printf("%s%s addr add $LOCAL_IP/$NETMASK peer $REMOTE_IP/$NETMASK dev $DEV_TYPE$LOCAL_DEV", sudo, IPROUTE2); ip_addr_cmd_remote_4 = g_strdup_printf("%s%s addr add $REMOTE_IP/$NETMASK peer $LOCAL_IP/$NETMASK dev $DEV_TYPE$REMOTE_DEV", sudo, IPROUTE2); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_IP_6); if (value && IS_YES(value)) { ipv6 = TRUE; value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP_6); if (value && strlen (value)) remote_ip_6 = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing IPv6 remote IP)"); goto done; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP_6); if (value && strlen (value)) local_ip_6 = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing IPv6 local IP)"); goto done; } value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK_6); if (value && strlen (value)) netmask_6 = value; else { g_set_error (error, 0, 0, "connection was incomplete (missing IPv6 netmask)"); goto done; } ip_addr_cmd_local_6 = g_strdup_printf("; %s addr add $LOCAL_IP_6/$NETMASK_6 peer $REMOTE_IP_6/$NETMASK_6 dev $DEV_TYPE$LOCAL_DEV", IPROUTE2); ip_addr_cmd_remote_6 = g_strdup_printf("; %s addr add $REMOTE_IP_6/$NETMASK_6 peer $LOCAL_IP_6/$NETMASK_6 dev $DEV_TYPE$REMOTE_DEV", IPROUTE2); } else { ipv6 = FALSE; ip_addr_cmd_local_6 = g_strdup(""); ip_addr_cmd_remote_6 = g_strdup(""); } /* Advanced values end */ /* Serialize everything to a file */ fprintf (f, "#!/bin/bash\n"); /* Make my life easier and just add the AUTH_TYPE= key, not used though */ fprintf (f, "%s=%s\n", AUTH_TYPE_KEY, auth_type); if (key_file) { fprintf (f, "%s=%s\n", KEY_FILE_KEY, key_file); } fprintf (f, "%s=%s\n", REMOTE_KEY, gateway); fprintf (f, "%s=%s\n", REMOTE_USERNAME_KEY, remote_username); fprintf (f, "%s=%s\n", REMOTE_IP_KEY, remote_ip); fprintf (f, "%s=%s\n", LOCAL_IP_KEY, local_ip); fprintf (f, "%s=%s\n", NETMASK_KEY, netmask); if (ipv6) { fprintf (f, "%s=%s\n", IP_6_KEY, YES); fprintf (f, "%s=%s\n", REMOTE_IP_6_KEY, remote_ip_6); fprintf (f, "%s=%s\n", LOCAL_IP_6_KEY, local_ip_6); fprintf (f, "%s=%s\n", NETMASK_6_KEY, netmask_6); } fprintf (f, "%s=%s\n", PORT_KEY, port); fprintf (f, "%s=%s\n", MTU_KEY, mtu); fprintf (f, "%s=%s\n", REMOTE_DEV_KEY, remote_dev); /* Assign tun/tap */ fprintf (f, "%s=%s\n", DEV_TYPE_KEY, device_type); fprintf (f, "%s=%s\n", TUNNEL_TYPE_KEY, tunnel_type); fprintf (f, "%s=%s\n", SUDO_KEY, strlen(sudo) == 0 ? "0" : "1"); fprintf (f, "%s=%s\n", NO_REMOTE_COMMAND_KEY, no_remote_command ? "1" : "0"); if (no_tunnel_interface) fprintf (f, "%s=%s\n", NO_TUNNEL_INTERFACE, no_tunnel_interface); if (socks_bind_address) fprintf (f, "%s=\"%s\"\n", SOCKS_BIND_ADDRESS, socks_bind_address); if (local_bind_address) fprintf (f, "%s=\"%s\"\n", LOCAL_BIND_ADDRESS, local_bind_address); if (remote_bind_address) fprintf (f, "%s=\"%s\"\n", REMOTE_BIND_ADDRESS, remote_bind_address); /* Add a little of bash script to probe for a free tun/tap device */ if (!no_tunnel_interface) { fprintf (f, "for i in `seq 0 255`; do ! %s link show $DEV_TYPE$i >& /dev/null && LOCAL_DEV=$i && break; done", IPROUTE2); } fprintf (f, "\n"); /* The generic lines that will perform the connection */ fprintf(f, "ssh -f %s -o PreferredAuthentications=%s -o NumberOfPasswordPrompts=%d -o ServerAliveInterval=10 -o TCPKeepAlive=yes -o User=$REMOTE_USERNAME -o Port=$PORT -o HostName=$REMOTE", (key_file ? g_strconcat("-i ", key_file, NULL) : ""), preferred_authentication, password_prompt_nr); if (socks_bind_address) { bind_addresses = g_strsplit_set (socks_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) fprintf(f, " -o DynamicForward=%s", *bind_address); } if (bind_addresses) g_strfreev (bind_addresses); } if (local_bind_address) { bind_addresses = g_strsplit_set (local_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) fprintf(f, " -L %s", *bind_address); } if (bind_addresses) g_strfreev (bind_addresses); } if (remote_bind_address) { bind_addresses = g_strsplit_set (remote_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) fprintf(f, " -R %s", *bind_address); } if (bind_addresses) g_strfreev (bind_addresses); } if (no_tunnel_interface || no_remote_command) { fprintf(f, " -N $REMOTE"); } else { fprintf(f, " -o Tunnel=$TUNNEL_TYPE -o TunnelDevice=$LOCAL_DEV:$REMOTE_DEV $REMOTE \"%s%s; %s\" && \\\n", ip_addr_cmd_remote_4, ip_addr_cmd_remote_6, ip_link_cmd_remote); fprintf(f, "%s%s; %s\n", ip_addr_cmd_local_4, ip_addr_cmd_local_6, ip_link_cmd_local); } fprintf(f, "\\\n"); success = TRUE; g_free(device_type); g_free(tunnel_type); g_free(sudo); g_free(ip_link_cmd_local); g_free(ip_link_cmd_remote); g_free(ip_addr_cmd_local_4); g_free(ip_addr_cmd_remote_4); g_free(ip_addr_cmd_local_6); g_free(ip_addr_cmd_remote_6); g_free(preferred_authentication); done: fclose (f); return success; } static char * get_suggested_filename (NMVpnEditorPlugin *iface, NMConnection *connection) { NMSettingConnection *s_con; const char *id; g_return_val_if_fail (connection != NULL, NULL); s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); g_return_val_if_fail (s_con != NULL, NULL); id = nm_setting_connection_get_id (s_con); g_return_val_if_fail (id != NULL, NULL); return g_strdup_printf ("%s (ssh).sh", id); } static guint32 get_capabilities (NMVpnEditorPlugin *iface) { return (NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT | NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT | NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6); } #ifndef NM_VPN_OLD static NMVpnEditor * _call_editor_factory (gpointer factory, NMVpnEditorPlugin *editor_plugin, NMConnection *connection, gpointer user_data, GError **error) { return ((NMVpnEditorFactory) factory) (editor_plugin, connection, error); } #endif static NMVpnEditor * get_editor (NMVpnEditorPlugin *iface, NMConnection *connection, GError **error) { gpointer gtk3_only_symbol; GModule *self_module; const char *editor; g_return_val_if_fail (SSH_IS_EDITOR_PLUGIN (iface), NULL); g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL); g_return_val_if_fail (!error || !*error, NULL); self_module = g_module_open (NULL, 0); g_module_symbol (self_module, "gtk_container_add", >k3_only_symbol); g_module_close (self_module); if (gtk3_only_symbol) { editor = "libnm-gtk3-vpn-plugin-ssh-editor.so"; } else { editor = "libnm-gtk4-vpn-plugin-ssh-editor.so"; } #ifdef NM_VPN_OLD return nm_ssh_editor_new (connection, error); #else return nm_vpn_plugin_utils_load_editor (editor, "nm_vpn_editor_factory_ssh", _call_editor_factory, iface, connection, NULL, error); #endif } static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { switch (prop_id) { case PROP_NAME: g_value_set_string (value, SSH_PLUGIN_NAME); break; case PROP_DESC: g_value_set_string (value, SSH_PLUGIN_DESC); break; case PROP_SERVICE: g_value_set_string (value, SSH_PLUGIN_SERVICE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void ssh_editor_plugin_class_init (SshEditorPluginClass *req_class) { GObjectClass *object_class = G_OBJECT_CLASS (req_class); object_class->get_property = get_property; g_object_class_override_property (object_class, PROP_NAME, NM_VPN_EDITOR_PLUGIN_NAME); g_object_class_override_property (object_class, PROP_DESC, NM_VPN_EDITOR_PLUGIN_DESCRIPTION); g_object_class_override_property (object_class, PROP_SERVICE, NM_VPN_EDITOR_PLUGIN_SERVICE); } static void ssh_editor_plugin_init (SshEditorPlugin *plugin) { } static void ssh_editor_plugin_interface_init (NMVpnEditorPluginInterface *iface_class) { /* interface implementation */ iface_class->get_editor = get_editor; iface_class->get_capabilities = get_capabilities; iface_class->import_from_file = import; iface_class->export_to_file = export; iface_class->get_suggested_filename = get_suggested_filename; } G_MODULE_EXPORT NMVpnEditorPlugin * nm_vpn_editor_plugin_factory (GError **error) { if (error) g_return_val_if_fail (*error == NULL, NULL); return g_object_new (SSH_TYPE_EDITOR_PLUGIN, NULL); } danfruehauf-NetworkManager-ssh-f65d65d/properties/nm-ssh-editor-plugin.h000066400000000000000000000067151507335542500265200ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Copyright (C) 2022 Red Hat, Inc. * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #ifndef _NM_SSH_EDITOR_PLUGIN_H_ #define _NM_SSH_EDITOR_PLUGIN_H_ #include #define SSH_TYPE_EDITOR_PLUGIN (ssh_editor_plugin_get_type ()) #define SSH_EDITOR_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SSH_TYPE_EDITOR_PLUGIN, SshEditorPlugin)) #define SSH_EDITOR_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SSH_TYPE_EDITOR_PLUGIN, SshEditorPluginClass)) #define SSH_IS_EDITOR_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SSH_TYPE_EDITOR_PLUGIN)) #define SSH_IS_EDITOR_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SSH_TYPE_EDITOR_PLUGIN)) #define SSH_EDITOR_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SSH_TYPE_EDITOR_PLUGIN, SshEditorPluginClass)) typedef struct _SshEditorPlugin SshEditorPlugin; typedef struct _SshEditorPluginClass SshEditorPluginClass; struct _SshEditorPlugin { GObject parent; }; struct _SshEditorPluginClass { GObjectClass parent; }; GType ssh_editor_plugin_get_type (void); NMVpnEditor *nm_vpn_editor_factory_ssh (NMVpnEditorPlugin *editor_plugin, NMConnection *connection, GError **error); typedef NMVpnEditor *(*NMVpnEditorFactory) (NMVpnEditorPlugin *editor_plugin, NMConnection *connection, GError **error); /* Export/Import key dictionary */ #define REMOTE_KEY "REMOTE" #define AUTH_TYPE_KEY "AUTH_TYPE" #define KEY_FILE_KEY "KEY_FILE" #define PREFERRED_AUTHENTICATION_KEY "PREFERRED_AUTHENTICATION" #define PASSWORD_PROMPT_NR_KEY "PASSWORD_PROMPT_NR" #define REMOTE_USERNAME_KEY "REMOTE_USERNAME" #define REMOTE_IP_KEY "REMOTE_IP" #define LOCAL_IP_KEY "LOCAL_IP" #define NETMASK_KEY "NETMASK" #define IP_6_KEY "IP_6" #define REMOTE_IP_6_KEY "REMOTE_IP_6" #define LOCAL_IP_6_KEY "LOCAL_IP_6" #define NETMASK_6_KEY "NETMASK_6" #define PORT_KEY "PORT" #define MTU_KEY "MTU" #define REMOTE_DEV_KEY "REMOTE_DEV" #define NO_TUNNEL_INTERFACE "NO_TUNNEL_INTERFACE" #define SOCKS_BIND_ADDRESS "SOCKS_BIND_ADDRESS" #define LOCAL_BIND_ADDRESS "LOCAL_BIND_ADDRESS" #define REMOTE_BIND_ADDRESS "REMOTE_BIND_ADDRESS" #define DEV_TYPE_KEY "DEV_TYPE" #define SUDO_KEY "SUDO" #define NO_REMOTE_COMMAND_KEY "NO_REMOTE_COMMAND" #define NO_DEFAULT_ROUTE_KEY "NO_DEFAULT_ROUTE" #define TUNNEL_TYPE_KEY "TUNNEL_TYPE" #endif /* _NM_SSH_EDITOR_PLUGIN_H_ */ danfruehauf-NetworkManager-ssh-f65d65d/properties/nm-ssh-editor.c000066400000000000000000000727251507335542500252230ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Copyright (C) 2022 Red Hat, Inc. * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #include "nm-default.h" #include "nm-ssh-editor.h" #include "advanced-dialog.h" #define PW_TYPE_SAVE 0 #define PW_TYPE_ASK 1 static void ssh_editor_interface_init (NMVpnEditorInterface *iface_class); G_DEFINE_TYPE_EXTENDED (SshEditor, ssh_editor, G_TYPE_OBJECT, 0, G_IMPLEMENT_INTERFACE (NM_TYPE_VPN_EDITOR, ssh_editor_interface_init)) #define SSH_EDITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SSH_TYPE_EDITOR, SshEditorPrivate)) typedef struct { GtkBuilder *builder; GtkWidget *widget; GtkSizeGroup *group; GtkWindowGroup *window_group; gboolean window_added; GHashTable *advanced; gboolean new_connection; GFile *keyfile; } SshEditorPrivate; #define COL_AUTH_NAME 0 #define COL_AUTH_PAGE 1 #define COL_AUTH_TYPE 2 static gboolean check_validity (SshEditor *self, GError **error) { SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *widget; const char *str; widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (!str || !strlen (str)) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY, NM_SSH_KEY_REMOTE); return FALSE; } widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote_ip_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (!str || !strlen (str)) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY, NM_SSH_KEY_REMOTE_IP); return FALSE; } widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "local_ip_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (!str || !strlen (str)) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY, NM_SSH_KEY_LOCAL_IP); return FALSE; } widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "netmask_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (!str || !strlen (str)) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY, NM_SSH_KEY_NETMASK); return FALSE; } return TRUE; } static void show_password_toggled (GtkCheckButton *checkbutton, GtkEntry *password_entry) { gtk_entry_set_visibility (password_entry, gtk_check_button_get_active (checkbutton)); } static void stuff_changed_cb (GtkWidget *widget, gpointer user_data) { g_signal_emit_by_name (SSH_EDITOR (user_data), "changed"); } static void auth_combo_changed_cb (GtkWidget *combo, gpointer user_data) { SshEditor *self = SSH_EDITOR (user_data); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *auth_notebook; GtkWidget *show_password; GtkWidget *keyfile_button; GtkTreeModel *model; GtkTreeIter iter; gint new_page = 0; auth_notebook = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_notebook")); g_assert (auth_notebook); show_password = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_password_show_password_checkbutton")); g_assert (show_password); keyfile_button = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_keyfile_button")); g_assert (keyfile_button); model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo)); g_assert (model); g_assert (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter)); gtk_tree_model_get (model, &iter, COL_AUTH_PAGE, &new_page, -1); /* Password entry relevant only to password page (1) */ gtk_widget_set_sensitive (show_password, new_page == 1); /* Key file entry relevant only to key page (2) */ gtk_widget_set_sensitive (keyfile_button, new_page == 2); gtk_notebook_set_current_page (GTK_NOTEBOOK (auth_notebook), new_page); stuff_changed_cb (combo, self); } static void advanced_dialog_close_cb (GtkWidget *dialog, gpointer user_data) { gtk_widget_hide (dialog); /* gtk_window_destroy() will remove the window from the window group */ gtk_window_destroy (GTK_WINDOW(dialog)); } static void advanced_dialog_response_cb (GtkWidget *dialog, gint response, gpointer user_data) { SshEditor *self = SSH_EDITOR (user_data); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GError *error = NULL; if (response != GTK_RESPONSE_OK) { advanced_dialog_close_cb (dialog, self); return; } if (priv->advanced) g_hash_table_destroy (priv->advanced); priv->advanced = advanced_dialog_new_hash_from_dialog (dialog, &error); if (!priv->advanced) { g_message ("%s: error reading advanced settings: %s", __func__, error->message); g_error_free (error); } advanced_dialog_close_cb (dialog, self); stuff_changed_cb (NULL, self); } static void advanced_button_clicked_cb (GtkWidget *button, gpointer user_data) { SshEditor *self = SSH_EDITOR (user_data); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *dialog; GtkRoot *root; root = gtk_widget_get_root (priv->widget); g_return_if_fail (GTK_IS_WINDOW(root)); dialog = advanced_dialog_new (priv->advanced); if (!dialog) { g_warning ("%s: failed to create the Advanced dialog!", __func__); return; } gtk_window_group_add_window (priv->window_group, GTK_WINDOW (dialog)); if (!priv->window_added) { gtk_window_group_add_window (priv->window_group, GTK_WINDOW (root)); priv->window_added = TRUE; } gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (root)); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (advanced_dialog_response_cb), self); g_signal_connect (G_OBJECT (dialog), "close", G_CALLBACK (advanced_dialog_close_cb), self); gtk_widget_show (dialog); } static void ipv6_toggled_cb (GtkWidget *check, gpointer user_data) { GtkBuilder *builder = (GtkBuilder *) user_data; GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "remote_ip_6_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); widget = GTK_WIDGET (gtk_builder_get_object (builder, "local_ip_6_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); widget = GTK_WIDGET (gtk_builder_get_object (builder, "netmask_6_entry")); gtk_widget_set_sensitive (widget, gtk_check_button_get_active (GTK_CHECK_BUTTON (check))); } static void chooser_show (GtkWidget *parent, GtkWidget *widget) { GtkRoot *root; root = gtk_widget_get_root (parent); g_return_if_fail (GTK_IS_WINDOW(root)); gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (root)); gtk_widget_show (widget); } static void chooser_button_update_file (SshEditor *self) { SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); char *basename = NULL; GtkLabel *label; label = GTK_LABEL (gtk_builder_get_object (priv->builder, "auth_keyfile_button_label")); if (priv->keyfile) basename = g_file_get_basename (priv->keyfile); if (basename) { gtk_label_set_label (label, basename); g_free (basename); } else { gtk_label_set_label (label, _("(None)")); } } static void chooser_response (GtkDialog *chooser, gint response_id, gpointer user_data) { SshEditor *self = SSH_EDITOR (user_data); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); if (response_id == GTK_RESPONSE_ACCEPT) { if (priv->keyfile) g_object_unref (priv->keyfile); priv->keyfile = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (chooser)); chooser_button_update_file (self); stuff_changed_cb (GTK_WIDGET (chooser), self); } gtk_widget_hide (GTK_WIDGET (chooser)); } static void init_auth_widget (SshEditor *self, GtkBuilder *builder, GtkSizeGroup *group, NMSettingVpn *s_vpn, const char *contype, const char *prefix) { SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *widget, *widget2; g_return_if_fail (builder != NULL); g_return_if_fail (group != NULL); g_return_if_fail (prefix != NULL); /* Three major connection types here: ssh-agent, key file, password */ if (!strncmp (contype, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { const gchar* password; NMSettingSecretFlags pw_flags = NM_SETTING_SECRET_FLAG_NONE; /* Show password button - by default don't show the password */ widget = GTK_WIDGET (gtk_builder_get_object (builder, "auth_password_show_password_checkbutton")); g_assert (widget); widget2 = GTK_WIDGET (gtk_builder_get_object (builder, "auth_password_entry")); g_assert (widget2); g_signal_connect (widget, "toggled", G_CALLBACK (show_password_toggled), widget2); show_password_toggled (GTK_CHECK_BUTTON (widget), GTK_ENTRY (widget2)); /* Load password */ g_signal_connect (G_OBJECT (widget2), "changed", G_CALLBACK (stuff_changed_cb), self); if (s_vpn) { password = nm_setting_vpn_get_secret (s_vpn, NM_SSH_KEY_PASSWORD); if (password) gtk_editable_set_text (GTK_EDITABLE (widget2), password); nm_setting_get_secret_flags (NM_SETTING (s_vpn), NM_SSH_KEY_PASSWORD, &pw_flags, NULL); /* FIXME */ //g_object_set_data (G_OBJECT (widget2), "flags", GUINT_TO_POINTER (pw_flags)); } } else if (!strncmp (contype, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) { /* Get key filename and set it */ const gchar *filename; widget = GTK_WIDGET (gtk_builder_get_object (builder, "auth_keyfile_chooser")); gtk_window_set_hide_on_close (GTK_WINDOW(widget), TRUE); g_signal_connect (gtk_builder_get_object (builder, "auth_keyfile_button"), "clicked", G_CALLBACK (chooser_show), widget); g_signal_connect (G_OBJECT (widget), "response", G_CALLBACK (chooser_response), self); if (s_vpn) { filename = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_KEY_FILE); if (filename && strlen (filename)) { priv->keyfile = g_file_new_for_path (filename); gtk_file_chooser_set_file (GTK_FILE_CHOOSER (widget), priv->keyfile, NULL); } } chooser_button_update_file (self); /* FIXME add filter */ //gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter); } else if (!strncmp (contype, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) { /* ssh-agent is the default */ /* Not much to do here! No options for ssh-agent :) */ } else { /* FIXME FATAL ERROR */ } } static void pw_type_combo_changed_cb (GtkWidget *combo, gpointer user_data) { SshEditor *self = SSH_EDITOR (user_data); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *entry; entry = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_password_entry")); g_assert (entry); /* If the user chose "Not required", desensitize and clear the correct * password entry. */ switch (gtk_combo_box_get_active (GTK_COMBO_BOX (combo))) { case PW_TYPE_ASK: gtk_editable_set_text (GTK_EDITABLE (entry), ""); gtk_widget_set_sensitive (entry, FALSE); break; default: gtk_widget_set_sensitive (entry, TRUE); break; } stuff_changed_cb (combo, self); } static void init_one_pw_combo ( SshEditor *self, NMSettingVpn *s_vpn, const char *combo_name, const char *secret_key, const char *entry_name) { SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); int active = -1; GtkWidget *widget; GtkListStore *store; GtkTreeIter iter; const char *value = NULL; guint32 default_idx = 1; NMSettingSecretFlags pw_flags = NM_SETTING_SECRET_FLAG_NONE; /* If there's already a password and the password type can't be found in * the VPN settings, default to saving it. Otherwise, always ask for it. */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, entry_name)); g_assert (widget); value = gtk_editable_get_text (GTK_EDITABLE (widget)); if (value && strlen (value)) default_idx = 0; store = gtk_list_store_new (1, G_TYPE_STRING); if (s_vpn) nm_setting_get_secret_flags (NM_SETTING (s_vpn), secret_key, &pw_flags, NULL); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, _("Saved"), -1); if ( (active < 0) && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED)) { active = PW_TYPE_SAVE; } gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, _("Always Ask"), -1); if ((active < 0) && (pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED)) active = PW_TYPE_ASK; widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, combo_name)); g_assert (widget); gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (store)); g_object_unref (store); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), active < 0 ? default_idx : active); pw_type_combo_changed_cb (widget, self); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (pw_type_combo_changed_cb), self); } /* FIXME break into smaller functions */ static gboolean init_editor_plugin (SshEditor *self, NMConnection *connection, GError **error) { SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); NMSettingVpn *s_vpn; GtkWidget *widget; GtkListStore *store; GtkTreeIter iter; const char *value; const char *auth_type = NM_SSH_AUTH_TYPE_SSH_AGENT; int active = -1; s_vpn = nm_connection_get_setting_vpn (connection); priv->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* Remote GW (SSH host) */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Remote IP */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote_ip_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Local IP */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "local_ip_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Netmask */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "netmask_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Remote IP IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote_ip_6_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP_6); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Local IP IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "local_ip_6_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP_6); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* Netmask IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "netmask_6_entry")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); if (s_vpn) { value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK_6); if (value) gtk_editable_set_text (GTK_EDITABLE (widget), value); } g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); /* IPv6 options */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ipv6_checkbutton")); g_assert (widget); value = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_IP_6); if (value && IS_YES(value)) { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), TRUE); } else { gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), FALSE); } /* Call the callback to show/hide IPv6 options */ ipv6_toggled_cb (widget, priv->builder); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (ipv6_toggled_cb), priv->builder); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (stuff_changed_cb), self); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ipv6_label")); g_assert (widget); gtk_widget_show (widget); /* Authentication combo box */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_auth_type_combobox")); g_return_val_if_fail (widget != NULL, FALSE); gtk_size_group_add_widget (priv->group, widget); store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING); if (s_vpn) { auth_type = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_AUTH_TYPE); if (auth_type) { if (strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT)) && strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD)) && strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) auth_type = NM_SSH_AUTH_TYPE_SSH_AGENT; } else auth_type = NM_SSH_AUTH_TYPE_SSH_AGENT; } /* SSH Agent auth widget */ init_auth_widget (self, priv->builder, priv->group, s_vpn, NM_SSH_KEY_AUTH_TYPE, "ssh-agent"); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, COL_AUTH_NAME, _("SSH Agent"), COL_AUTH_PAGE, 0, COL_AUTH_TYPE, NM_SSH_AUTH_TYPE_SSH_AGENT, -1); if ((active < 0) && !strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) active = 0; /* Password auth widget */ init_auth_widget (self, priv->builder, priv->group, s_vpn, NM_SSH_AUTH_TYPE_PASSWORD, "pw"); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, COL_AUTH_NAME, _("Password"), COL_AUTH_PAGE, 1, COL_AUTH_TYPE, NM_SSH_AUTH_TYPE_PASSWORD, -1); if ((active < 0) && !strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) active = 1; /* Key auth widget */ init_auth_widget (self, priv->builder, priv->group, s_vpn, NM_SSH_AUTH_TYPE_KEY, "key"); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, COL_AUTH_NAME, _("Key Authentication"), COL_AUTH_PAGE, 2, COL_AUTH_TYPE, NM_SSH_AUTH_TYPE_KEY, -1); if ((active < 0) && !strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) active = 2; gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (store)); g_object_unref (store); g_signal_connect (widget, "changed", G_CALLBACK (auth_combo_changed_cb), self); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), active < 0 ? 0 : active); /* Combo box for save/don't save password */ init_one_pw_combo ( self, s_vpn, "auth_password_save_password_combobox", NM_SSH_KEY_PASSWORD, "auth_password_entry"); /* Advanced button */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "advanced_button")); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (advanced_button_clicked_cb), self); return TRUE; } static GObject * get_widget (NMVpnEditor *iface) { SshEditor *self = SSH_EDITOR (iface); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); return G_OBJECT (priv->widget); } static void hash_copy_advanced (gpointer key, gpointer data, gpointer user_data) { NMSettingVpn *s_vpn = NM_SETTING_VPN (user_data); const char *value = (const char *) data; g_return_if_fail (value && strlen (value)); nm_setting_vpn_add_data_item (s_vpn, (const char *) key, value); } static gboolean auth_widget_update_connection ( SshEditor *self, NMSettingVpn *s_vpn) { /* This function populates s_vpn with the auth properties */ SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); GtkWidget *widget; GtkWidget *combo_password; GtkComboBox *combo; GtkTreeModel *model; GtkTreeIter iter; char *auth_type = NULL; gboolean success = TRUE; combo = GTK_COMBO_BOX (GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_auth_type_combobox"))); model = gtk_combo_box_get_model (combo); success = gtk_combo_box_get_active_iter (combo, &iter); g_return_val_if_fail (success == TRUE, FALSE); gtk_tree_model_get (model, &iter, COL_AUTH_TYPE, &auth_type, -1); /* Set auth type */ nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_AUTH_TYPE, auth_type); if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { /* Password auth */ const gchar *password; NMSettingSecretFlags pw_flags = NM_SETTING_SECRET_FLAG_NONE; /* Grab original password flags */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_password_entry")); pw_flags = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (widget), "flags")); combo_password = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_password_save_password_combobox")); /* And set new ones based on the type combo */ switch (gtk_combo_box_get_active (GTK_COMBO_BOX (combo_password))) { case PW_TYPE_SAVE: password = gtk_editable_get_text (GTK_EDITABLE (widget)); if (password && strlen (password)) nm_setting_vpn_add_secret (s_vpn, NM_SSH_KEY_PASSWORD, password); break; case PW_TYPE_ASK: default: pw_flags |= NM_SETTING_SECRET_FLAG_NOT_SAVED; break; } /* Set new secret flags */ nm_setting_set_secret_flags (NM_SETTING (s_vpn), NM_SSH_KEY_PASSWORD, pw_flags, NULL); } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) { /* Key auth */ gchar *filename; widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "auth_keyfile_chooser")); if (priv->keyfile) filename = g_file_get_path (priv->keyfile); else filename = NULL; if (filename && strlen (filename)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_KEY_FILE, filename); g_free (filename); } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) { /* SSH AGENT auth */ /* Nothing to set here, honestly!! It's here just for the sake of order */ } else { success = FALSE; } g_free (auth_type); return success; } static gboolean update_connection (NMVpnEditor *iface, NMConnection *connection, GError **error) { SshEditor *self = SSH_EDITOR (iface); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (self); NMSettingVpn *s_vpn; GtkWidget *widget; const char *str; gboolean valid = FALSE; if (!check_validity (self, error)) return FALSE; s_vpn = NM_SETTING_VPN (nm_setting_vpn_new ()); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, NM_DBUS_SERVICE_SSH, NULL); /* Gateway */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_REMOTE, str); /* Remote IP */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote_ip_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP, str); /* Local IP */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "local_ip_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP, str); /* Netmask */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "netmask_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_NETMASK, str); /* IPv6 enabled */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ipv6_checkbutton")); if (gtk_check_button_get_active (GTK_CHECK_BUTTON (widget))) { nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_IP_6, YES); /* Remote IP IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote_ip_6_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP_6, str); /* Local IP IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "local_ip_6_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP_6, str); /* Prefix IPv6 */ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "netmask_6_entry")); str = gtk_editable_get_text (GTK_EDITABLE (widget)); if (str && strlen (str)) nm_setting_vpn_add_data_item (s_vpn, NM_SSH_KEY_NETMASK_6, str); } /* Authentication type */ valid &= auth_widget_update_connection (self, s_vpn); if (priv->advanced) g_hash_table_foreach (priv->advanced, hash_copy_advanced, s_vpn); nm_connection_add_setting (connection, NM_SETTING (s_vpn)); valid = TRUE; return valid; } static void is_new_func (const char *key, const char *value, gpointer user_data) { gboolean *is_new = user_data; /* If there are any VPN data items the connection isn't new */ *is_new = FALSE; } NMVpnEditor * nm_ssh_editor_new (NMConnection *connection, GError **error) { NMVpnEditor *object; SshEditorPrivate *priv; gboolean new = TRUE; NMSettingVpn *s_vpn; if (error) g_return_val_if_fail (*error == NULL, NULL); object = g_object_new (SSH_TYPE_EDITOR, NULL); if (!object) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, 0, "could not create ssh object"); return NULL; } priv = SSH_EDITOR_GET_PRIVATE (object); priv->builder = gtk_builder_new (); gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); if (!gtk_builder_add_from_resource (priv->builder, "/org/freedesktop/network-manager-ssh/nm-ssh-dialog.ui", error)) { g_warning ("Couldn't load builder file: %s", error && *error ? (*error)->message : "(unknown)"); g_object_unref (object); return NULL; } priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ssh_main_vbox")); if (!priv->widget) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, 0, "could not load UI widget"); g_object_unref (object); return NULL; } g_object_ref_sink (priv->widget); priv->window_group = gtk_window_group_new (); s_vpn = nm_connection_get_setting_vpn (connection); if (s_vpn) nm_setting_vpn_foreach_data_item (s_vpn, is_new_func, &new); priv->new_connection = new; if (!init_editor_plugin (SSH_EDITOR (object), connection, error)) { g_object_unref (object); return NULL; } priv->advanced = advanced_dialog_new_hash_from_connection (connection, error); if (!priv->advanced) { g_object_unref (object); return NULL; } return object; } static void dispose (GObject *object) { SshEditor *plugin = SSH_EDITOR (object); SshEditorPrivate *priv = SSH_EDITOR_GET_PRIVATE (plugin); if (priv->group) g_object_unref (priv->group); if (priv->window_group) g_object_unref (priv->window_group); if (priv->widget) g_object_unref (priv->widget); if (priv->builder) g_object_unref (priv->builder); if (priv->advanced) g_hash_table_destroy (priv->advanced); if (priv->keyfile) g_object_unref (priv->keyfile); G_OBJECT_CLASS (ssh_editor_parent_class)->dispose (object); } static void ssh_editor_class_init (SshEditorClass *req_class) { GObjectClass *object_class = G_OBJECT_CLASS (req_class); g_type_class_add_private (req_class, sizeof (SshEditorPrivate)); object_class->dispose = dispose; } static void ssh_editor_init (SshEditor *plugin) { } static void ssh_editor_interface_init (NMVpnEditorInterface *iface_class) { /* interface implementation */ iface_class->get_widget = get_widget; iface_class->update_connection = update_connection; } /*****************************************************************************/ #ifndef NM_VPN_OLD #include "nm-ssh-editor-plugin.h" G_MODULE_EXPORT NMVpnEditor * nm_vpn_editor_factory_ssh (NMVpnEditorPlugin *editor_plugin, NMConnection *connection, GError **error) { g_return_val_if_fail (!error || !*error, NULL); return nm_ssh_editor_new (connection, error); } #endif danfruehauf-NetworkManager-ssh-f65d65d/properties/nm-ssh-editor.h000066400000000000000000000055231507335542500252200ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /*************************************************************************** * * Copyright (C) 2013 Dan Fruehauf, * Copyright (C) 2022 Red Hat, Inc. * Based on work by Dan Williams, * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * **************************************************************************/ #ifndef _NM_SSH_EDITOR_H_ #define _NM_SSH_EDITOR_H_ #include #if !GTK_CHECK_VERSION(4,0,0) #define gtk_editable_set_text(editable,text) gtk_entry_set_text(GTK_ENTRY(editable), (text)) #define gtk_editable_get_text(editable) gtk_entry_get_text(GTK_ENTRY(editable)) #define gtk_widget_get_root(widget) gtk_widget_get_toplevel(widget) #define gtk_check_button_get_active(button) gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)) #define gtk_check_button_set_active(button, active) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active) #define gtk_window_destroy(window) gtk_widget_destroy(GTK_WIDGET (window)) #define gtk_window_set_hide_on_close(window, hide) \ G_STMT_START { \ G_STATIC_ASSERT(hide); \ g_signal_connect_swapped (G_OBJECT (window), "delete-event", \ G_CALLBACK (gtk_widget_hide_on_delete), window); \ } G_STMT_END typedef void GtkRoot; #endif #define SSH_TYPE_EDITOR (ssh_editor_get_type ()) #define SSH_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SSH_TYPE_EDITOR, SshEditor)) #define SSH_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SSH_TYPE_EDITOR, SshEditorClass)) #define SSH_IS_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SSH_TYPE_EDITOR)) #define SSH_IS_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SSH_TYPE_EDITOR)) #define SSH_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SSH_TYPE_EDITOR, SshEditorClass)) typedef struct _SshEditor SshEditor; typedef struct _SshEditorClass SshEditorClass; struct _SshEditor { GObject parent; }; struct _SshEditorClass { GObjectClass parent; }; GType ssh_editor_get_type (void); NMVpnEditor *nm_ssh_editor_new (NMConnection *connection, GError **error); #endif /* _NM_SSH_EDITOR_H_ */ danfruehauf-NetworkManager-ssh-f65d65d/selinux/000077500000000000000000000000001507335542500216445ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/selinux/NetworkManager-ssh.te000066400000000000000000000040401507335542500257130ustar00rootroot00000000000000 module NetworkManager-ssh 1.0; require { type ssh_exec_t; type unconfined_t; type user_tmp_t; type config_home_t; type ssh_home_t; type admin_home_t; type user_home_t; type user_home_dir_t; type systemd_conf_t; type ptmx_t; type devpts_t; type NetworkManager_ssh_t; type reserved_port_t; type hi_reserved_port_t; type unreserved_port_t; type ephemeral_port_t; class capability { dac_override net_admin }; class dir { search }; class file { open read execute_no_trans getattr }; class chr_file { open read write ioctl }; class sock_file { read write getattr }; class unix_stream_socket connectto; class tcp_socket name_connect; } #============= NetworkManager_ssh_t ============== allow NetworkManager_ssh_t self:capability { dac_override net_admin }; allow NetworkManager_ssh_t ssh_exec_t:file execute_no_trans; allow NetworkManager_ssh_t unconfined_t:unix_stream_socket connectto; allow NetworkManager_ssh_t user_tmp_t:sock_file { read write getattr }; allow NetworkManager_ssh_t systemd_conf_t:file { open read getattr }; # Allow connection to all remote ports: # reserved - 1-511 # hi_reserved - 512-1023 # unreserved - 1024-32767, 61000-65535 # ephemeral - 32768-60999 allow NetworkManager_ssh_t reserved_port_t:tcp_socket name_connect; allow NetworkManager_ssh_t hi_reserved_port_t:tcp_socket name_connect; allow NetworkManager_ssh_t unreserved_port_t:tcp_socket name_connect; allow NetworkManager_ssh_t ephemeral_port_t:tcp_socket name_connect; # Allow known_hosts access in user's directory allow NetworkManager_ssh_t ssh_home_t:file { open read getattr }; allow NetworkManager_ssh_t config_home_t:file { open read getattr }; allow NetworkManager_ssh_t user_home_dir_t:dir { search }; # Allow known_hosts reading from root directory (when user can't be probed) allow NetworkManager_ssh_t admin_home_t:dir { search }; # sshpass (password from stdin) allow NetworkManager_ssh_t ptmx_t:chr_file { open read write ioctl }; allow NetworkManager_ssh_t devpts_t:dir { search }; allow NetworkManager_ssh_t devpts_t:chr_file { open read write ioctl }; danfruehauf-NetworkManager-ssh-f65d65d/selinux/build-policy.sh000077500000000000000000000003251507335542500245770ustar00rootroot00000000000000#!/bin/bash checkmodule -M -m -o NetworkManager-ssh.mod NetworkManager-ssh.te semodule_package -o NetworkManager-ssh.pp -m NetworkManager-ssh.mod # To insert policy, use: #sudo semodule -i NetworkManager-ssh.pp danfruehauf-NetworkManager-ssh-f65d65d/shared/000077500000000000000000000000001507335542500214235ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/shared/README000066400000000000000000000006041507335542500223030ustar00rootroot00000000000000The files in the "shared/" directory are used by all components inside the VPN plugin repository (src, properties, auth-dialog). The files in shared/nm-utils are copied from NetworkManager repository and used as is: Do *not* modify these files locally so that they don't diverge from their original. Fix/extend them in their respective origin first, and re-import the files as a whole. danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-default.h000066400000000000000000000106321507335542500236320ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* NetworkManager -- Network link manager * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * (C) Copyright 2015 Red Hat, Inc. */ #ifndef __NM_DEFAULT_H__ #define __NM_DEFAULT_H__ /* makefiles define NETWORKMANAGER_COMPILATION for compiling NetworkManager. * Depending on which parts are compiled, different values are set. */ #define NM_NETWORKMANAGER_COMPILATION_DEFAULT 0x0001 #define NM_NETWORKMANAGER_COMPILATION_LIB_BASE 0x0002 #define NM_NETWORKMANAGER_COMPILATION_LIB_EDITOR 0x0004 #define NM_NETWORKMANAGER_COMPILATION_LIB (0x0002 | 0x0004) #ifndef NETWORKMANAGER_COMPILATION /* For convenience, we don't require our Makefile.am to define * -DNETWORKMANAGER_COMPILATION. As we now include this internal header, * we know we do a NETWORKMANAGER_COMPILATION. */ #define NETWORKMANAGER_COMPILATION NM_NETWORKMANAGER_COMPILATION_DEFAULT #endif /*****************************************************************************/ #include /* always include these headers for our internal source files. */ #include "nm-utils/nm-glib.h" #include "nm-utils/gsystem-local-alloc.h" #include "nm-utils/nm-macros-internal.h" #include "nm-version.h" #include "nm-service-defines.h" /*****************************************************************************/ #if ((NETWORKMANAGER_COMPILATION) & NM_NETWORKMANAGER_COMPILATION_LIB) #include #else #include #endif /* NM_NETWORKMANAGER_COMPILATION_LIB */ /*****************************************************************************/ #ifdef NM_VPN_OLD #define NM_VPN_LIBNM_COMPAT #include #include #include #include #include #include #include #define nm_simple_connection_new nm_connection_new #define NM_SETTING_IP_CONFIG NM_SETTING_IP4_CONFIG #define NM_SETTING_IP_CONFIG_METHOD NM_SETTING_IP4_CONFIG_METHOD #define NMSettingIPConfig NMSettingIP4Config #define NMV_EDITOR_PLUGIN_ERROR NM_SETTING_VPN_ERROR #define NMV_EDITOR_PLUGIN_ERROR_FAILED NM_SETTING_VPN_ERROR_UNKNOWN #define NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY NM_SETTING_VPN_ERROR_INVALID_PROPERTY #define NMV_EDITOR_PLUGIN_ERROR_MISSING_PROPERTY NM_SETTING_VPN_ERROR_MISSING_PROPERTY #define NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN NM_SETTING_VPN_ERROR_UNKNOWN #define NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_READABLE NM_SETTING_VPN_ERROR_UNKNOWN #define NMV_EDITOR_PLUGIN_ERROR_FILE_INVALID NM_SETTING_VPN_ERROR_UNKNOWN #else /* !NM_VPN_OLD */ #include #define NMV_EDITOR_PLUGIN_ERROR NM_CONNECTION_ERROR #define NMV_EDITOR_PLUGIN_ERROR_FAILED NM_CONNECTION_ERROR_FAILED #define NMV_EDITOR_PLUGIN_ERROR_INVALID_PROPERTY NM_CONNECTION_ERROR_INVALID_PROPERTY #define NMV_EDITOR_PLUGIN_ERROR_MISSING_PROPERTY NM_CONNECTION_ERROR_MISSING_PROPERTY #define NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN NM_CONNECTION_ERROR_FAILED #define NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_READABLE NM_CONNECTION_ERROR_FAILED #define NMV_EDITOR_PLUGIN_ERROR_FILE_INVALID NM_CONNECTION_ERROR_FAILED #endif /* NM_VPN_OLD */ /*****************************************************************************/ #if (NETWORKMANAGER_COMPILATION) & NM_NETWORKMANAGER_COMPILATION_LIB_EDITOR #ifdef NM_VPN_OLD #include #else /* NM_VPN_OLD */ #include #endif /* NM_VPN_OLD */ #endif /* NM_NETWORKMANAGER_COMPILATION_LIB_EDITOR */ /*****************************************************************************/ #endif /* __NM_DEFAULT_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-service-defines.h000066400000000000000000000054641507335542500252700ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* nm-ssh-service - ssh integration with NetworkManager * * Copyright (C) 2013 Dan Fruehauf * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ #ifndef NM_SSH_SERVICE_DEFINES_H #define NM_SSH_SERVICE_DEFINES_H #define NM_DBUS_SERVICE_SSH "org.freedesktop.NetworkManager.ssh" #define NM_DBUS_INTERFACE_SSH "org.freedesktop.NetworkManager.ssh" #define NM_DBUS_PATH_SSH "/org/freedesktop/NetworkManager/ssh" #define YES "yes" #define NO "no" #define IS_YES(x) (!strncmp (x, YES, strlen(YES))) #define NM_SSH_KEY_REMOTE "remote" #define NM_SSH_KEY_REMOTE_IP "remote-ip" #define NM_SSH_KEY_LOCAL_IP "local-ip" #define NM_SSH_KEY_NETMASK "netmask" #define NM_SSH_KEY_PORT "port" #define NM_SSH_KEY_TUNNEL_MTU "tunnel-mtu" #define NM_SSH_KEY_REMOTE_DEV "remote-dev" #define NM_SSH_KEY_SSH_AUTH_SOCK "ssh-auth-sock" #define NM_SSH_KEY_TAP_DEV "tap-dev" #define NM_SSH_KEY_REMOTE_USERNAME "remote-username" #define NM_SSH_KEY_SUDO "sudo" #define NM_SSH_KEY_NO_REMOTE_COMMAND "no-remote-command" #define NM_SSH_KEY_NO_TUNNEL_INTERFACE "no-tunnel-interface" #define NM_SSH_KEY_SOCKS_BIND_ADDRESS "socks-bind-address" #define NM_SSH_KEY_LOCAL_BIND_ADDRESS "local-bind-address" #define NM_SSH_KEY_REMOTE_BIND_ADDRESS "remote-bind-address" #define NM_SSH_KEY_IP_6 "ip-6" #define NM_SSH_KEY_REMOTE_IP_6 "remote-ip-6" #define NM_SSH_KEY_LOCAL_IP_6 "local-ip-6" #define NM_SSH_KEY_NETMASK_6 "netmask-6" #define NM_SSH_KEY_AUTH_TYPE "auth-type" #define NM_SSH_KEY_KEY_FILE "key-file" #define NM_SSH_KEY_PASSWORD "password" #define NM_SSH_DEFAULT_PORT 22 #define NM_SSH_DEFAULT_MTU 1500 #define NM_SSH_DEFAULT_REMOTE_DEV 100 #define NM_SSH_DEFAULT_REMOTE_USERNAME "root" #define NM_SSH_DEFAULT_NO_TUNNEL_INTERFACE "dummy0" #define NM_SSH_DEFAULT_SOCKS_BIND_ADDRESS "localhost:8080" #define NM_SSH_DEFAULT_LOCAL_BIND_ADDRESS "localhost:8080:localhost:8080" #define NM_SSH_DEFAULT_REMOTE_BIND_ADDRESS "localhost:8080:localhost:8080" #define NM_SSH_AUTH_TYPE_SSH_AGENT "ssh-agent" #define NM_SSH_AUTH_TYPE_PASSWORD "password" #define NM_SSH_AUTH_TYPE_KEY "key" #endif /* NM_SSH_SERVICE_DEFINES_H */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/000077500000000000000000000000001507335542500231735ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/.gitignore000066400000000000000000000002471507335542500251660ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app Makefile Makefile.in .deps danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/gsystem-local-alloc.h000066400000000000000000000140371507335542500272240ustar00rootroot00000000000000/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- * * Copyright (C) 2012 Colin Walters . * * 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. */ #ifndef __GSYSTEM_LOCAL_ALLOC_H__ #define __GSYSTEM_LOCAL_ALLOC_H__ #include G_BEGIN_DECLS #define GS_DEFINE_CLEANUP_FUNCTION(Type, name, func) \ static inline void name (void *v) \ { \ func (*(Type*)v); \ } #define GS_DEFINE_CLEANUP_FUNCTION0(Type, name, func) \ static inline void name (void *v) \ { \ if (*(Type*)v) \ func (*(Type*)v); \ } /* These functions shouldn't be invoked directly; * they are stubs that: * 1) Take a pointer to the location (typically itself a pointer). * 2) Provide %NULL-safety where it doesn't exist already (e.g. g_object_unref) */ /** * gs_free: * * Call g_free() on a variable location when it goes out of scope. */ #define gs_free __attribute__ ((cleanup(gs_local_free))) GS_DEFINE_CLEANUP_FUNCTION(void*, gs_local_free, g_free) /** * gs_unref_object: * * Call g_object_unref() on a variable location when it goes out of * scope. Note that unlike g_object_unref(), the variable may be * %NULL. */ #define gs_unref_object __attribute__ ((cleanup(gs_local_obj_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GObject*, gs_local_obj_unref, g_object_unref) /** * gs_unref_variant: * * Call g_variant_unref() on a variable location when it goes out of * scope. Note that unlike g_variant_unref(), the variable may be * %NULL. */ #define gs_unref_variant __attribute__ ((cleanup(gs_local_variant_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GVariant*, gs_local_variant_unref, g_variant_unref) /** * gs_free_variant_iter: * * Call g_variant_iter_free() on a variable location when it goes out of * scope. */ #define gs_free_variant_iter __attribute__ ((cleanup(gs_local_variant_iter_free))) GS_DEFINE_CLEANUP_FUNCTION0(GVariantIter*, gs_local_variant_iter_free, g_variant_iter_free) /** * gs_free_variant_builder: * * Call g_variant_builder_unref() on a variable location when it goes out of * scope. */ #define gs_unref_variant_builder __attribute__ ((cleanup(gs_local_variant_builder_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GVariantBuilder*, gs_local_variant_builder_unref, g_variant_builder_unref) /** * gs_unref_array: * * Call g_array_unref() on a variable location when it goes out of * scope. Note that unlike g_array_unref(), the variable may be * %NULL. */ #define gs_unref_array __attribute__ ((cleanup(gs_local_array_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GArray*, gs_local_array_unref, g_array_unref) /** * gs_unref_ptrarray: * * Call g_ptr_array_unref() on a variable location when it goes out of * scope. Note that unlike g_ptr_array_unref(), the variable may be * %NULL. */ #define gs_unref_ptrarray __attribute__ ((cleanup(gs_local_ptrarray_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GPtrArray*, gs_local_ptrarray_unref, g_ptr_array_unref) /** * gs_unref_hashtable: * * Call g_hash_table_unref() on a variable location when it goes out * of scope. Note that unlike g_hash_table_unref(), the variable may * be %NULL. */ #define gs_unref_hashtable __attribute__ ((cleanup(gs_local_hashtable_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GHashTable*, gs_local_hashtable_unref, g_hash_table_unref) /** * gs_free_list: * * Call g_list_free() on a variable location when it goes out * of scope. */ #define gs_free_list __attribute__ ((cleanup(gs_local_free_list))) GS_DEFINE_CLEANUP_FUNCTION(GList*, gs_local_free_list, g_list_free) /** * gs_free_slist: * * Call g_slist_free() on a variable location when it goes out * of scope. */ #define gs_free_slist __attribute__ ((cleanup(gs_local_free_slist))) GS_DEFINE_CLEANUP_FUNCTION(GSList*, gs_local_free_slist, g_slist_free) /** * gs_free_checksum: * * Call g_checksum_free() on a variable location when it goes out * of scope. Note that unlike g_checksum_free(), the variable may * be %NULL. */ #define gs_free_checksum __attribute__ ((cleanup(gs_local_checksum_free))) GS_DEFINE_CLEANUP_FUNCTION0(GChecksum*, gs_local_checksum_free, g_checksum_free) /** * gs_unref_bytes: * * Call g_bytes_unref() on a variable location when it goes out * of scope. Note that unlike g_bytes_unref(), the variable may * be %NULL. */ #define gs_unref_bytes __attribute__ ((cleanup(gs_local_bytes_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GBytes*, gs_local_bytes_unref, g_bytes_unref) /** * gs_strfreev: * * Call g_strfreev() on a variable location when it goes out of scope. */ #define gs_strfreev __attribute__ ((cleanup(gs_local_strfreev))) GS_DEFINE_CLEANUP_FUNCTION(char**, gs_local_strfreev, g_strfreev) /** * gs_free_error: * * Call g_error_free() on a variable location when it goes out of scope. */ #define gs_free_error __attribute__ ((cleanup(gs_local_free_error))) GS_DEFINE_CLEANUP_FUNCTION0(GError*, gs_local_free_error, g_error_free) /** * gs_unref_keyfile: * * Call g_key_file_unref() on a variable location when it goes out of scope. */ #define gs_unref_keyfile __attribute__ ((cleanup(gs_local_keyfile_unref))) GS_DEFINE_CLEANUP_FUNCTION0(GKeyFile*, gs_local_keyfile_unref, g_key_file_unref) static inline void gs_cleanup_close_fdp (int *fdp) { int fd; g_assert (fdp); fd = *fdp; if (fd != -1) (void) close (fd); } /** * gs_fd_close: * * Call close() on a variable location when it goes out of scope. */ #define gs_fd_close __attribute__((cleanup(gs_cleanup_close_fdp))) G_END_DECLS #endif danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-glib.h000066400000000000000000000335051507335542500246770ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * Copyright 2008 - 2011 Red Hat, Inc. */ #ifndef __NM_GLIB_H__ #define __NM_GLIB_H__ #include #include #include "gsystem-local-alloc.h" #ifdef __clang__ #undef G_GNUC_BEGIN_IGNORE_DEPRECATIONS #undef G_GNUC_END_IGNORE_DEPRECATIONS #define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ _Pragma("clang diagnostic push") \ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") #define G_GNUC_END_IGNORE_DEPRECATIONS \ _Pragma("clang diagnostic pop") #endif static inline void __g_type_ensure (GType type) { #if !GLIB_CHECK_VERSION(2,34,0) if (G_UNLIKELY (type == (GType)-1)) g_error ("can't happen"); #else G_GNUC_BEGIN_IGNORE_DEPRECATIONS; g_type_ensure (type); G_GNUC_END_IGNORE_DEPRECATIONS; #endif } #define g_type_ensure __g_type_ensure #if !GLIB_CHECK_VERSION(2,34,0) #define g_clear_pointer(pp, destroy) \ G_STMT_START { \ G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \ /* Only one access, please */ \ gpointer *_pp = (gpointer *) (pp); \ gpointer _p; \ /* This assignment is needed to avoid a gcc warning */ \ GDestroyNotify _destroy = (GDestroyNotify) (destroy); \ \ _p = *_pp; \ if (_p) \ { \ *_pp = NULL; \ _destroy (_p); \ } \ } G_STMT_END /* These are used to clean up the output of test programs; we can just let * them no-op in older glib. */ #define g_test_expect_message(log_domain, log_level, pattern) #define g_test_assert_expected_messages() #else /* We build with -DGLIB_MAX_ALLOWED_VERSION set to 2.32 to make sure we don't * accidentally use new API that we shouldn't. But we don't want warnings for * the APIs that we emulate above. */ #define g_test_expect_message(domain, level, format...) \ G_STMT_START { \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ g_test_expect_message (domain, level, format); \ G_GNUC_END_IGNORE_DEPRECATIONS \ } G_STMT_END #define g_test_assert_expected_messages_internal(domain, file, line, func) \ G_STMT_START { \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ g_test_assert_expected_messages_internal (domain, file, line, func); \ G_GNUC_END_IGNORE_DEPRECATIONS \ } G_STMT_END #endif #if GLIB_CHECK_VERSION (2, 35, 0) /* For glib >= 2.36, g_type_init() is deprecated. * But since 2.35.1 (7c42ab23b55c43ab96d0ac2124b550bf1f49c1ec) this function * does nothing. Replace the call with empty statement. */ #define nm_g_type_init() G_STMT_START { (void) 0; } G_STMT_END #else #define nm_g_type_init() G_STMT_START { g_type_init (); } G_STMT_END #endif /* g_test_initialized() is only available since glib 2.36. */ #if !GLIB_CHECK_VERSION (2, 36, 0) #define g_test_initialized() (g_test_config_vars->test_initialized) #endif /* g_assert_cmpmem() is only available since glib 2.46. */ #if !GLIB_CHECK_VERSION (2, 45, 7) #define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\ gconstpointer __m1 = m1, __m2 = m2; \ int __l1 = l1, __l2 = l2; \ if (__l1 != __l2) \ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", __l1, "==", __l2, 'i'); \ else if (memcmp (__m1, __m2, __l1) != 0) \ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ "assertion failed (" #m1 " == " #m2 ")"); \ } G_STMT_END #endif /* Rumtime check for glib version. First do a compile time check which * (if satisfied) shortcuts the runtime check. */ #define nm_glib_check_version(major, minor, micro) \ ( GLIB_CHECK_VERSION ((major), (minor), (micro)) \ || ( ( glib_major_version > (major)) \ || ( glib_major_version == (major) \ && glib_minor_version > (minor)) \ || ( glib_major_version == (major) \ && glib_minor_version == (minor) \ && glib_micro_version >= (micro)))) /* g_test_skip() is only available since glib 2.38. Add a compatibility wrapper. */ inline static void __nmtst_g_test_skip (const gchar *msg) { #if GLIB_CHECK_VERSION (2, 38, 0) G_GNUC_BEGIN_IGNORE_DEPRECATIONS g_test_skip (msg); G_GNUC_END_IGNORE_DEPRECATIONS #else g_debug ("%s", msg); #endif } #define g_test_skip __nmtst_g_test_skip /* g_test_add_data_func_full() is only available since glib 2.34. Add a compatibility wrapper. */ inline static void __g_test_add_data_func_full (const char *testpath, gpointer test_data, GTestDataFunc test_func, GDestroyNotify data_free_func) { #if GLIB_CHECK_VERSION (2, 34, 0) G_GNUC_BEGIN_IGNORE_DEPRECATIONS g_test_add_data_func_full (testpath, test_data, test_func, data_free_func); G_GNUC_END_IGNORE_DEPRECATIONS #else g_return_if_fail (testpath != NULL); g_return_if_fail (testpath[0] == '/'); g_return_if_fail (test_func != NULL); g_test_add_vtable (testpath, 0, test_data, NULL, (GTestFixtureFunc) test_func, (GTestFixtureFunc) data_free_func); #endif } #define g_test_add_data_func_full __g_test_add_data_func_full #if !GLIB_CHECK_VERSION (2, 34, 0) #define G_DEFINE_QUARK(QN, q_n) \ GQuark \ q_n##_quark (void) \ { \ static GQuark q; \ \ if G_UNLIKELY (q == 0) \ q = g_quark_from_static_string (#QN); \ \ return q; \ } #endif static inline gboolean nm_g_hash_table_replace (GHashTable *hash, gpointer key, gpointer value) { /* glib 2.40 added a return value indicating whether the key already existed * (910191597a6c2e5d5d460e9ce9efb4f47d9cc63c). */ #if GLIB_CHECK_VERSION(2, 40, 0) return g_hash_table_replace (hash, key, value); #else gboolean contained = g_hash_table_contains (hash, key); g_hash_table_replace (hash, key, value); return !contained; #endif } static inline gboolean nm_g_hash_table_insert (GHashTable *hash, gpointer key, gpointer value) { /* glib 2.40 added a return value indicating whether the key already existed * (910191597a6c2e5d5d460e9ce9efb4f47d9cc63c). */ #if GLIB_CHECK_VERSION(2, 40, 0) return g_hash_table_insert (hash, key, value); #else gboolean contained = g_hash_table_contains (hash, key); g_hash_table_insert (hash, key, value); return !contained; #endif } static inline gboolean nm_g_hash_table_add (GHashTable *hash, gpointer key) { /* glib 2.40 added a return value indicating whether the key already existed * (910191597a6c2e5d5d460e9ce9efb4f47d9cc63c). */ #if GLIB_CHECK_VERSION(2, 40, 0) return g_hash_table_add (hash, key); #else gboolean contained = g_hash_table_contains (hash, key); g_hash_table_add (hash, key); return !contained; #endif } #if !GLIB_CHECK_VERSION(2, 40, 0) || defined (NM_GLIB_COMPAT_H_TEST) static inline void _nm_g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data) { g_return_if_fail (array); g_return_if_fail (index_ >= -1); g_return_if_fail (index_ <= (gint) array->len); g_ptr_array_add (array, data); if (index_ != -1 && index_ != (gint) (array->len - 1)) { memmove (&(array->pdata[index_ + 1]), &(array->pdata[index_]), (array->len - index_ - 1) * sizeof (gpointer)); array->pdata[index_] = data; } } #endif #if !GLIB_CHECK_VERSION(2, 40, 0) #define g_ptr_array_insert(array, index, data) G_STMT_START { _nm_g_ptr_array_insert (array, index, data); } G_STMT_END #else #define g_ptr_array_insert(array, index, data) \ G_STMT_START { \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ g_ptr_array_insert (array, index, data); \ G_GNUC_END_IGNORE_DEPRECATIONS \ } G_STMT_END #endif #if !GLIB_CHECK_VERSION (2, 40, 0) inline static gboolean _g_key_file_save_to_file (GKeyFile *key_file, const gchar *filename, GError **error) { gchar *contents; gboolean success; gsize length; g_return_val_if_fail (key_file != NULL, FALSE); g_return_val_if_fail (filename != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); contents = g_key_file_to_data (key_file, &length, NULL); g_assert (contents != NULL); success = g_file_set_contents (filename, contents, length, error); g_free (contents); return success; } #define g_key_file_save_to_file(key_file, filename, error) \ _g_key_file_save_to_file (key_file, filename, error) #else #define g_key_file_save_to_file(key_file, filename, error) \ ({ \ gboolean _success; \ \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ _success = g_key_file_save_to_file (key_file, filename, error); \ G_GNUC_END_IGNORE_DEPRECATIONS \ _success; \ }) #endif #if GLIB_CHECK_VERSION (2, 36, 0) #define g_credentials_get_unix_pid(creds, error) \ ({ \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ (g_credentials_get_unix_pid) ((creds), (error)); \ G_GNUC_END_IGNORE_DEPRECATIONS \ }) #else #define g_credentials_get_unix_pid(creds, error) \ ({ \ struct ucred *native_creds; \ \ native_creds = g_credentials_get_native ((creds), G_CREDENTIALS_TYPE_LINUX_UCRED); \ g_assert (native_creds); \ native_creds->pid; \ }) #endif #if !GLIB_CHECK_VERSION(2, 40, 0) || defined (NM_GLIB_COMPAT_H_TEST) static inline gpointer * _nm_g_hash_table_get_keys_as_array (GHashTable *hash_table, guint *length) { GHashTableIter iter; gpointer key, *ret; guint i = 0; g_return_val_if_fail (hash_table, NULL); ret = g_new0 (gpointer, g_hash_table_size (hash_table) + 1); g_hash_table_iter_init (&iter, hash_table); while (g_hash_table_iter_next (&iter, &key, NULL)) ret[i++] = key; ret[i] = NULL; if (length) *length = i; return ret; } #endif #if !GLIB_CHECK_VERSION(2, 40, 0) #define g_hash_table_get_keys_as_array(hash_table, length) \ ({ \ _nm_g_hash_table_get_keys_as_array (hash_table, length); \ }) #else #define g_hash_table_get_keys_as_array(hash_table, length) \ ({ \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ (g_hash_table_get_keys_as_array) ((hash_table), (length)); \ G_GNUC_END_IGNORE_DEPRECATIONS \ }) #endif #ifndef g_info /* g_info was only added with 2.39.2 */ #define g_info(...) g_log (G_LOG_DOMAIN, \ G_LOG_LEVEL_INFO, \ __VA_ARGS__) #endif #if !GLIB_CHECK_VERSION(2, 44, 0) static inline gpointer g_steal_pointer (gpointer pp) { gpointer *ptr = (gpointer *) pp; gpointer ref; ref = *ptr; *ptr = NULL; return ref; } /* type safety */ #define g_steal_pointer(pp) \ (0 ? (*(pp)) : (g_steal_pointer) (pp)) #endif static inline gboolean _nm_g_strv_contains (const gchar * const *strv, const gchar *str) { #if !GLIB_CHECK_VERSION(2, 44, 0) g_return_val_if_fail (strv != NULL, FALSE); g_return_val_if_fail (str != NULL, FALSE); for (; *strv != NULL; strv++) { if (g_str_equal (str, *strv)) return TRUE; } return FALSE; #else G_GNUC_BEGIN_IGNORE_DEPRECATIONS return g_strv_contains (strv, str); G_GNUC_END_IGNORE_DEPRECATIONS #endif } #define g_strv_contains _nm_g_strv_contains static inline GVariant * _nm_g_variant_new_take_string (gchar *string) { #if !GLIB_CHECK_VERSION(2, 36, 0) GVariant *value; g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (g_utf8_validate (string, -1, NULL), NULL); value = g_variant_new_string (string); g_free (string); return value; #elif !GLIB_CHECK_VERSION(2, 38, 0) GVariant *value; GBytes *bytes; g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (g_utf8_validate (string, -1, NULL), NULL); bytes = g_bytes_new_take (string, strlen (string) + 1); value = g_variant_new_from_bytes (G_VARIANT_TYPE_STRING, bytes, TRUE); g_bytes_unref (bytes); return value; #else G_GNUC_BEGIN_IGNORE_DEPRECATIONS return g_variant_new_take_string (string); G_GNUC_END_IGNORE_DEPRECATIONS #endif } #define g_variant_new_take_string _nm_g_variant_new_take_string #endif /* __NM_GLIB_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-macros-internal.h000066400000000000000000000741001507335542500270540ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* NetworkManager -- Network link manager * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * (C) Copyright 2014 Red Hat, Inc. */ #ifndef __NM_MACROS_INTERNAL_H__ #define __NM_MACROS_INTERNAL_H__ #include #include #include #include "nm-glib.h" /*****************************************************************************/ #define _nm_packed __attribute__ ((packed)) #define _nm_unused __attribute__ ((unused)) #define _nm_pure __attribute__ ((pure)) #define _nm_const __attribute__ ((const)) #define _nm_printf(a,b) __attribute__ ((__format__ (__printf__, a, b))) #define nm_offsetofend(t,m) (G_STRUCT_OFFSET (t,m) + sizeof (((t *) NULL)->m)) #define nm_auto(fcn) __attribute__ ((cleanup(fcn))) /** * nm_auto_free: * * Call free() on a variable location when it goes out of scope. */ #define nm_auto_free nm_auto(_nm_auto_free_impl) GS_DEFINE_CLEANUP_FUNCTION(void*, _nm_auto_free_impl, free) static inline void _nm_auto_unset_gvalue_impl (GValue *v) { g_value_unset (v); } #define nm_auto_unset_gvalue nm_auto(_nm_auto_unset_gvalue_impl) static inline void _nm_auto_free_gstring_impl (GString **str) { if (*str) g_string_free (*str, TRUE); } #define nm_auto_free_gstring nm_auto(_nm_auto_free_gstring_impl) static inline void _nm_auto_close_impl (int *pfd) { if (*pfd >= 0) { int errsv = errno; (void) close (*pfd); errno = errsv; } } #define nm_auto_close nm_auto(_nm_auto_close_impl) static inline void _nm_auto_fclose_impl (FILE **pfd) { if (*pfd) { int errsv = errno; (void) fclose (*pfd); errno = errsv; } } #define nm_auto_fclose nm_auto(_nm_auto_fclose_impl) static inline void _nm_auto_protect_errno (int *p_saved_errno) { errno = *p_saved_errno; } #define NM_AUTO_PROTECT_ERRNO(errsv_saved) nm_auto(_nm_auto_protect_errno) _nm_unused const int errsv_saved = (errno) /*****************************************************************************/ /* http://stackoverflow.com/a/11172679 */ #define _NM_UTILS_MACRO_FIRST(...) __NM_UTILS_MACRO_FIRST_HELPER(__VA_ARGS__, throwaway) #define __NM_UTILS_MACRO_FIRST_HELPER(first, ...) first #define _NM_UTILS_MACRO_REST(...) __NM_UTILS_MACRO_REST_HELPER(__NM_UTILS_MACRO_REST_NUM(__VA_ARGS__), __VA_ARGS__) #define __NM_UTILS_MACRO_REST_HELPER(qty, ...) __NM_UTILS_MACRO_REST_HELPER2(qty, __VA_ARGS__) #define __NM_UTILS_MACRO_REST_HELPER2(qty, ...) __NM_UTILS_MACRO_REST_HELPER_##qty(__VA_ARGS__) #define __NM_UTILS_MACRO_REST_HELPER_ONE(first) #define __NM_UTILS_MACRO_REST_HELPER_TWOORMORE(first, ...) , __VA_ARGS__ #define __NM_UTILS_MACRO_REST_NUM(...) \ __NM_UTILS_MACRO_REST_SELECT_20TH(__VA_ARGS__, \ TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE,\ TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE,\ TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE,\ TWOORMORE, TWOORMORE, TWOORMORE, ONE, throwaway) #define __NM_UTILS_MACRO_REST_SELECT_20TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, ...) a20 /*****************************************************************************/ /* http://stackoverflow.com/a/2124385/354393 */ #define NM_NARG(...) \ _NM_NARG(__VA_ARGS__,_NM_NARG_RSEQ_N()) #define _NM_NARG(...) \ _NM_NARG_ARG_N(__VA_ARGS__) #define _NM_NARG_ARG_N( \ _1, _2, _3, _4, _5, _6, _7, _8, _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,_60, \ _61,_62,_63,N,...) N #define _NM_NARG_RSEQ_N() \ 63,62,61,60, \ 59,58,57,56,55,54,53,52,51,50, \ 49,48,47,46,45,44,43,42,41,40, \ 39,38,37,36,35,34,33,32,31,30, \ 29,28,27,26,25,24,23,22,21,20, \ 19,18,17,16,15,14,13,12,11,10, \ 9,8,7,6,5,4,3,2,1,0 /*****************************************************************************/ #if defined (__GNUC__) #define _NM_PRAGMA_WARNING_DO(warning) G_STRINGIFY(GCC diagnostic ignored warning) #elif defined (__clang__) #define _NM_PRAGMA_WARNING_DO(warning) G_STRINGIFY(clang diagnostic ignored warning) #endif /* you can only suppress a specific warning that the compiler * understands. Otherwise you will get another compiler warning * about invalid pragma option. * It's not that bad however, because gcc and clang often have the * same name for the same warning. */ #if defined (__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #define NM_PRAGMA_WARNING_DISABLE(warning) \ _Pragma("GCC diagnostic push") \ _Pragma(_NM_PRAGMA_WARNING_DO(warning)) #elif defined (__clang__) #define NM_PRAGMA_WARNING_DISABLE(warning) \ _Pragma("clang diagnostic push") \ _Pragma(_NM_PRAGMA_WARNING_DO(warning)) #else #define NM_PRAGMA_WARNING_DISABLE(warning) #endif #if defined (__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #define NM_PRAGMA_WARNING_REENABLE \ _Pragma("GCC diagnostic pop") #elif defined (__clang__) #define NM_PRAGMA_WARNING_REENABLE \ _Pragma("clang diagnostic pop") #else #define NM_PRAGMA_WARNING_REENABLE #endif /*****************************************************************************/ /** * NM_G_ERROR_MSG: * @error: (allow none): the #GError instance * * All functions must follow the convention that when they * return a failure, they must also set the GError to a valid * message. For external API however, we want to be extra * careful before accessing the error instance. Use NM_G_ERROR_MSG() * which is safe to use on NULL. * * Returns: the error message. **/ static inline const char * NM_G_ERROR_MSG (GError *error) { return error ? (error->message ? : "(null)") : "(no-error)"; \ } /*****************************************************************************/ /* macro to return strlen() of a compile time string. */ #define NM_STRLEN(str) ( sizeof ("" str) - 1 ) /* Note: @value is only evaluated when *out_val is present. * Thus, * NM_SET_OUT (out_str, g_strdup ("hallo")); * does the right thing. */ #define NM_SET_OUT(out_val, value) \ G_STMT_START { \ typeof(*(out_val)) *_out_val = (out_val); \ \ if (_out_val) { \ *_out_val = (value); \ } \ } G_STMT_END /*****************************************************************************/ #define _NM_IN_SET_EVAL_1( op, _x, y) (_x == (y)) #define _NM_IN_SET_EVAL_2( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_1 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_3( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_2 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_4( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_3 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_5( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_4 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_6( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_5 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_7( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_6 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_8( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_7 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_9( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_8 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_10(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_9 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_11(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_10 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_12(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_11 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_13(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_12 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_14(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_13 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_15(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_14 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_16(op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_15 (op, _x, __VA_ARGS__) #define _NM_IN_SET_EVAL_N2(op, _x, n, ...) (_NM_IN_SET_EVAL_##n(op, _x, __VA_ARGS__)) #define _NM_IN_SET_EVAL_N(op, x, n, ...) \ ({ \ typeof(x) _x = (x); \ !!_NM_IN_SET_EVAL_N2(op, _x, n, __VA_ARGS__); \ }) /* Beware that this does short-circuit evaluation (use "||" instead of "|") * which has a possibly unexpected non-function-like behavior. * Use NM_IN_SET_SE if you need all arguments to be evaluted. */ #define NM_IN_SET(x, ...) _NM_IN_SET_EVAL_N(||, x, NM_NARG (__VA_ARGS__), __VA_ARGS__) /* "SE" stands for "side-effect". Contrary to NM_IN_SET(), this does not do * short-circuit evaluation, which can make a difference if the arguments have * side-effects. */ #define NM_IN_SET_SE(x, ...) _NM_IN_SET_EVAL_N(|, x, NM_NARG (__VA_ARGS__), __VA_ARGS__) /*****************************************************************************/ static inline gboolean _NM_IN_STRSET_streq (const char *x, const char *s) { return s && strcmp (x, s) == 0; } #define _NM_IN_STRSET_EVAL_1( op, _x, y) _NM_IN_STRSET_streq (_x, y) #define _NM_IN_STRSET_EVAL_2( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_1 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_3( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_2 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_4( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_3 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_5( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_4 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_6( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_5 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_7( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_6 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_8( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_7 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_9( op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_8 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_10(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_9 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_11(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_10 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_12(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_11 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_13(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_12 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_14(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_13 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_15(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_14 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_16(op, _x, y, ...) _NM_IN_STRSET_streq (_x, y) op _NM_IN_STRSET_EVAL_15 (op, _x, __VA_ARGS__) #define _NM_IN_STRSET_EVAL_N2(op, _x, n, ...) (_NM_IN_STRSET_EVAL_##n(op, _x, __VA_ARGS__)) #define _NM_IN_STRSET_EVAL_N(op, x, n, ...) \ ({ \ const char *_x = (x); \ ( ((_x == NULL) && _NM_IN_SET_EVAL_N2 (op, (const char *) NULL, n, __VA_ARGS__)) \ || ((_x != NULL) && _NM_IN_STRSET_EVAL_N2 (op, _x, n, __VA_ARGS__)) \ ); \ }) /* Beware that this does short-circuit evaluation (use "||" instead of "|") * which has a possibly unexpected non-function-like behavior. * Use NM_IN_STRSET_SE if you need all arguments to be evaluted. */ #define NM_IN_STRSET(x, ...) _NM_IN_STRSET_EVAL_N(||, x, NM_NARG (__VA_ARGS__), __VA_ARGS__) /* "SE" stands for "side-effect". Contrary to NM_IN_STRSET(), this does not do * short-circuit evaluation, which can make a difference if the arguments have * side-effects. */ #define NM_IN_STRSET_SE(x, ...) _NM_IN_STRSET_EVAL_N(|, x, NM_NARG (__VA_ARGS__), __VA_ARGS__) #define NM_STRCHAR_ALL(str, ch_iter, predicate) \ ({ \ gboolean _val = TRUE; \ const char *_str = (str); \ \ if (_str) { \ for (;;) { \ const char ch_iter = _str[0]; \ \ if (ch_iter != '\0') { \ if (predicate) {\ _str++; \ continue; \ } \ _val = FALSE; \ } \ break; \ } \ } \ _val; \ }) #define NM_STRCHAR_ANY(str, ch_iter, predicate) \ ({ \ gboolean _val = FALSE; \ const char *_str = (str); \ \ if (_str) { \ for (;;) { \ const char ch_iter = _str[0]; \ \ if (ch_iter != '\0') { \ if (predicate) { \ ; \ } else { \ _str++; \ continue; \ } \ _val = TRUE; \ } \ break; \ } \ } \ _val; \ }) /*****************************************************************************/ #define nm_streq(s1, s2) (strcmp (s1, s2) == 0) #define nm_streq0(s1, s2) (g_strcmp0 (s1, s2) == 0) /*****************************************************************************/ static inline const char * nm_str_not_empty (const char *str) { return str && str[0] ? str : NULL; } static inline char * nm_strdup_not_empty (const char *str) { return str && str[0] ? g_strdup (str) : NULL; } static inline char * nm_str_realloc (char *str) { gs_free char *s = str; /* Returns a new clone of @str and frees @str. The point is that @str * possibly points to a larger chunck of memory. We want to freshly allocate * a buffer. * * We could use realloc(), but that might not do anything or leave * @str in its memory pool for chunks of a different size (bad for * fragmentation). * * This is only useful when we want to keep the buffer around for a long * time and want to re-allocate a more optimal buffer. */ return g_strdup (s); } /*****************************************************************************/ #define NM_PRINT_FMT_QUOTED(cond, prefix, str, suffix, str_else) \ (cond) ? (prefix) : "", \ (cond) ? (str) : (str_else), \ (cond) ? (suffix) : "" #define NM_PRINT_FMT_QUOTE_STRING(arg) NM_PRINT_FMT_QUOTED((arg), "\"", (arg), "\"", "(null)") /*****************************************************************************/ /* glib/C provides the following kind of assertions: * - assert() -- disable with NDEBUG * - g_return_if_fail() -- disable with G_DISABLE_CHECKS * - g_assert() -- disable with G_DISABLE_ASSERT * but they are all enabled by default and usually even production builds have * these kind of assertions enabled. It also means, that disabling assertions * is an untested configuration, and might have bugs. * * Add our own assertion macro nm_assert(), which is disabled by default and must * be explicitly enabled. They are useful for more expensive checks or checks that * depend less on runtime conditions (that is, are generally expected to be true). */ #ifndef NM_MORE_ASSERTS #define NM_MORE_ASSERTS 0 #endif #if NM_MORE_ASSERTS #define nm_assert(cond) G_STMT_START { g_assert (cond); } G_STMT_END #define nm_assert_se(cond) G_STMT_START { if (G_LIKELY (cond)) { ; } else { g_assert (FALSE && (cond)); } } G_STMT_END #define nm_assert_not_reached() G_STMT_START { g_assert_not_reached (); } G_STMT_END #else #define nm_assert(cond) G_STMT_START { if (FALSE) { if (cond) { } } } G_STMT_END #define nm_assert_se(cond) G_STMT_START { if (G_LIKELY (cond)) { ; } } G_STMT_END #define nm_assert_not_reached() G_STMT_START { ; } G_STMT_END #endif /*****************************************************************************/ #define NM_GOBJECT_PROPERTIES_DEFINE_BASE(...) \ typedef enum { \ _PROPERTY_ENUMS_0, \ __VA_ARGS__ \ _PROPERTY_ENUMS_LAST, \ } _PropertyEnums; \ static GParamSpec *obj_properties[_PROPERTY_ENUMS_LAST] = { NULL, } #define NM_GOBJECT_PROPERTIES_DEFINE(obj_type, ...) \ NM_GOBJECT_PROPERTIES_DEFINE_BASE (__VA_ARGS__); \ static inline void \ _notify (obj_type *obj, _PropertyEnums prop) \ { \ nm_assert (G_IS_OBJECT (obj)); \ nm_assert ((gsize) prop < G_N_ELEMENTS (obj_properties)); \ g_object_notify_by_pspec ((GObject *) obj, obj_properties[prop]); \ } /*****************************************************************************/ #define __NM_GET_PRIVATE(self, type, is_check, result_cmd) \ ({ \ /* preserve the const-ness of self. Unfortunately, that * way, @self cannot be a void pointer */ \ typeof (self) _self = (self); \ \ /* Get compiler error if variable is of wrong type */ \ _nm_unused const type *_self2 = (_self); \ \ nm_assert (is_check (_self)); \ ( result_cmd ); \ }) #define _NM_GET_PRIVATE(self, type, is_check) __NM_GET_PRIVATE(self, type, is_check, &_self->_priv) #define _NM_GET_PRIVATE_PTR(self, type, is_check) __NM_GET_PRIVATE(self, type, is_check, _self->_priv) /*****************************************************************************/ static inline gpointer nm_g_object_ref (gpointer obj) { /* g_object_ref() doesn't accept NULL. */ if (obj) g_object_ref (obj); return obj; } static inline void nm_g_object_unref (gpointer obj) { /* g_object_unref() doesn't accept NULL. Usully, we workaround that * by using g_clear_object(), but sometimes that is not convinient * (for example as as destroy function for a hash table that can contain * NULL values). */ if (obj) g_object_unref (obj); } /* basically, replaces * g_clear_pointer (&location, g_free) * with * nm_clear_g_free (&location) * * Another advantage is that by using a macro and typeof(), it is more * typesafe and gives you for example a compiler warning when pp is a const * pointer or points to a const-pointer. */ #define nm_clear_g_free(pp) \ ({ \ typeof (*(pp)) *_pp = (pp); \ typeof (**_pp) *_p = *_pp; \ \ if (_p) { \ *_pp = NULL; \ g_free (_p); \ } \ !!_p; \ }) static inline gboolean nm_clear_g_source (guint *id) { if (id && *id) { g_source_remove (*id); *id = 0; return TRUE; } return FALSE; } static inline gboolean nm_clear_g_signal_handler (gpointer self, gulong *id) { if (id && *id) { g_signal_handler_disconnect (self, *id); *id = 0; return TRUE; } return FALSE; } static inline gboolean nm_clear_g_variant (GVariant **variant) { if (variant && *variant) { g_variant_unref (*variant); *variant = NULL; return TRUE; } return FALSE; } static inline gboolean nm_clear_g_cancellable (GCancellable **cancellable) { if (cancellable && *cancellable) { g_cancellable_cancel (*cancellable); g_object_unref (*cancellable); *cancellable = NULL; return TRUE; } return FALSE; } /*****************************************************************************/ /* Determine whether @x is a power of two (@x being an integer type). * For the special cases @x equals zero or one, it also returns true. * For negative @x, always returns FALSE. That only applies, if the data * type of @x is signed. */ #define nm_utils_is_power_of_two(x) ({ \ typeof(x) __x = (x); \ \ /* Check if the value is negative. In that case, return FALSE. * The first expression is a compile time constant, depending on whether * the type is signed. The second expression is a clumsy way for (__x >= 0), * which causes a compiler warning for unsigned types. */ \ ( ( ((typeof(__x)) -1) > ((typeof(__x)) 0) ) || (__x > 0) || (__x == 0) ) \ && ((__x & (__x - 1)) == 0); \ }) /*****************************************************************************/ /* check if @flags has exactly one flag (@check) set. You should call this * only with @check being a compile time constant and a power of two. */ #define NM_FLAGS_HAS(flags, check) \ ( (G_STATIC_ASSERT_EXPR ( ((check) != 0) && ((check) & ((check)-1)) == 0 )), (NM_FLAGS_ANY ((flags), (check))) ) #define NM_FLAGS_ANY(flags, check) ( ( ((flags) & (check)) != 0 ) ? TRUE : FALSE ) #define NM_FLAGS_ALL(flags, check) ( ( ((flags) & (check)) == (check) ) ? TRUE : FALSE ) #define NM_FLAGS_SET(flags, val) ({ \ const typeof(flags) _flags = (flags); \ const typeof(flags) _val = (val); \ \ _flags | _val; \ }) #define NM_FLAGS_UNSET(flags, val) ({ \ const typeof(flags) _flags = (flags); \ const typeof(flags) _val = (val); \ \ _flags & (~_val); \ }) #define NM_FLAGS_ASSIGN(flags, val, assign) ({ \ const typeof(flags) _flags = (flags); \ const typeof(flags) _val = (val); \ \ (assign) \ ? _flags | (_val) \ : _flags & (~_val); \ }) /*****************************************************************************/ #define _NM_BACKPORT_SYMBOL_IMPL(VERSION, RETURN_TYPE, ORIG_FUNC, VERSIONED_FUNC, ARGS_TYPED, ARGS) \ RETURN_TYPE VERSIONED_FUNC ARGS_TYPED; \ RETURN_TYPE VERSIONED_FUNC ARGS_TYPED \ { \ return ORIG_FUNC ARGS; \ } \ RETURN_TYPE ORIG_FUNC ARGS_TYPED; \ __asm__(".symver "G_STRINGIFY(VERSIONED_FUNC)", "G_STRINGIFY(ORIG_FUNC)"@"G_STRINGIFY(VERSION)) #define NM_BACKPORT_SYMBOL(VERSION, RETURN_TYPE, FUNC, ARGS_TYPED, ARGS) \ _NM_BACKPORT_SYMBOL_IMPL(VERSION, RETURN_TYPE, FUNC, _##FUNC##_##VERSION, ARGS_TYPED, ARGS) /*****************************************************************************/ #define nm_str_skip_leading_spaces(str) \ ({ \ typeof (*(str)) *_str = (str); \ _nm_unused const char *_str_type_check = _str; \ \ if (_str) { \ while (g_ascii_isspace (_str[0])) \ _str++; \ } \ _str; \ }) static inline char * nm_strstrip (char *str) { /* g_strstrip doesn't like NULL. */ return str ? g_strstrip (str) : NULL; } /* g_ptr_array_sort()'s compare function takes pointers to the * value. Thus, you cannot use strcmp directly. You can use * nm_strcmp_p(). * * Like strcmp(), this function is not forgiving to accept %NULL. */ static inline int nm_strcmp_p (gconstpointer a, gconstpointer b) { const char *s1 = *((const char **) a); const char *s2 = *((const char **) b); return strcmp (s1, s2); } /* like nm_strcmp_p(), suitable for g_ptr_array_sort_with_data(). * g_ptr_array_sort() just casts nm_strcmp_p() to a function of different * signature. I guess, in glib there are knowledgeable people that ensure * that this additional argument doesn't cause problems due to different ABI * for every architecture that glib supports. * For NetworkManager, we'd rather avoid such stunts. **/ static inline int nm_strcmp_p_with_data (gconstpointer a, gconstpointer b, gpointer user_data) { const char *s1 = *((const char **) a); const char *s2 = *((const char **) b); return strcmp (s1, s2); } static inline int nm_cmp_uint32_p_with_data (gconstpointer p_a, gconstpointer p_b, gpointer user_data) { const guint32 a = *((const guint32 *) p_a); const guint32 b = *((const guint32 *) p_b); if (a < b) return -1; if (a > b) return 1; return 0; } /*****************************************************************************/ /* Taken from systemd's UNIQ_T and UNIQ macros. */ #define NM_UNIQ_T(x, uniq) G_PASTE(__unique_prefix_, G_PASTE(x, uniq)) #define NM_UNIQ __COUNTER__ /*****************************************************************************/ /* glib's MIN()/MAX() macros don't have function-like behavior, in that they evaluate * the argument possibly twice. * * Taken from systemd's MIN()/MAX() macros. */ #define NM_MIN(a, b) __NM_MIN(NM_UNIQ, a, NM_UNIQ, b) #define __NM_MIN(aq, a, bq, b) \ ({ \ typeof (a) NM_UNIQ_T(A, aq) = (a); \ typeof (b) NM_UNIQ_T(B, bq) = (b); \ ((NM_UNIQ_T(A, aq) < NM_UNIQ_T(B, bq)) ? NM_UNIQ_T(A, aq) : NM_UNIQ_T(B, bq)); \ }) #define NM_MAX(a, b) __NM_MAX(NM_UNIQ, a, NM_UNIQ, b) #define __NM_MAX(aq, a, bq, b) \ ({ \ typeof (a) NM_UNIQ_T(A, aq) = (a); \ typeof (b) NM_UNIQ_T(B, bq) = (b); \ ((NM_UNIQ_T(A, aq) > NM_UNIQ_T(B, bq)) ? NM_UNIQ_T(A, aq) : NM_UNIQ_T(B, bq)); \ }) #define NM_CLAMP(x, low, high) __NM_CLAMP(NM_UNIQ, x, NM_UNIQ, low, NM_UNIQ, high) #define __NM_CLAMP(xq, x, lowq, low, highq, high) \ ({ \ typeof(x)NM_UNIQ_T(X,xq) = (x); \ typeof(low) NM_UNIQ_T(LOW,lowq) = (low); \ typeof(high) NM_UNIQ_T(HIGH,highq) = (high); \ \ ( (NM_UNIQ_T(X,xq) > NM_UNIQ_T(HIGH,highq)) \ ? NM_UNIQ_T(HIGH,highq) \ : (NM_UNIQ_T(X,xq) < NM_UNIQ_T(LOW,lowq)) \ ? NM_UNIQ_T(LOW,lowq) \ : NM_UNIQ_T(X,xq)); \ }) /*****************************************************************************/ static inline guint nm_encode_version (guint major, guint minor, guint micro) { /* analog to the preprocessor macro NM_ENCODE_VERSION(). */ return (major << 16) | (minor << 8) | micro; } static inline void nm_decode_version (guint version, guint *major, guint *minor, guint *micro) { *major = (version & 0xFFFF0000u) >> 16; *minor = (version & 0x0000FF00u) >> 8; *micro = (version & 0x000000FFu); } /*****************************************************************************/ /* taken from systemd's DECIMAL_STR_MAX() * * Returns the number of chars needed to format variables of the * specified type as a decimal string. Adds in extra space for a * negative '-' prefix (hence works correctly on signed * types). Includes space for the trailing NUL. */ #define NM_DECIMAL_STR_MAX(type) \ (2+(sizeof(type) <= 1 ? 3 : \ sizeof(type) <= 2 ? 5 : \ sizeof(type) <= 4 ? 10 : \ sizeof(type) <= 8 ? 20 : sizeof(int[-2*(sizeof(type) > 8)]))) /*****************************************************************************/ /* if @str is NULL, return "(null)". Otherwise, allocate a buffer using * alloca() of size @bufsize and fill it with @str. @str will be quoted with * single quote, and in case @str is too long, the final quote will be '^'. */ #define nm_strquote_a(bufsize, str) \ ({ \ G_STATIC_ASSERT ((bufsize) >= 6); \ const gsize _BUFSIZE = (bufsize); \ const char *const _s = (str); \ char *_r; \ gsize _l; \ gboolean _truncated; \ \ nm_assert (_BUFSIZE >= 6); \ \ if (_s) { \ _l = strlen (_s) + 3; \ if ((_truncated = (_BUFSIZE < _l))) \ _l = _BUFSIZE; \ \ _r = g_alloca (_l); \ _r[0] = '\''; \ memcpy (&_r[1], _s, _l - 3); \ _r[_l - 2] = _truncated ? '^' : '\''; \ _r[_l - 1] = '\0'; \ } else \ _r = "(null)"; \ _r; \ }) #define nm_sprintf_buf(buf, format, ...) ({ \ char * _buf = (buf); \ int _buf_len; \ \ /* some static assert trying to ensure that the buffer is statically allocated. * It disallows a buffer size of sizeof(gpointer) to catch that. */ \ G_STATIC_ASSERT (G_N_ELEMENTS (buf) == sizeof (buf) && sizeof (buf) != sizeof (char *)); \ _buf_len = g_snprintf (_buf, sizeof (buf), \ ""format"", ##__VA_ARGS__); \ nm_assert (_buf_len < sizeof (buf)); \ _buf; \ }) #define nm_sprintf_bufa(n_elements, format, ...) \ ({ \ char *_buf; \ int _buf_len; \ \ G_STATIC_ASSERT (sizeof (char[MAX ((n_elements), 1)]) == (n_elements)); \ _buf = g_alloca (n_elements); \ _buf_len = g_snprintf (_buf, (n_elements), \ ""format"", ##__VA_ARGS__); \ nm_assert (_buf_len < (n_elements)); \ _buf; \ }) /*****************************************************************************/ /** * The boolean type _Bool is C99 while we mostly stick to C89. However, _Bool is too * convinient to miss and is effectively available in gcc and clang. So, just use it. * * Usually, one would include "stdbool.h" to get the "bool" define which aliases * _Bool. We provide this define here, because we want to make use of it anywhere. * (also, stdbool.h is again C99). * * Using _Bool has advantages over gboolean: * * - commonly _Bool is one byte large, instead of gboolean's 4 bytes (because gboolean * is a typedef for gint). Especially when having boolean fields in a struct, we can * thereby easily save some space. * * - _Bool type guarantees that two "true" expressions compare equal. E.g. the follwing * will not work: * gboolean v1 = 1; * gboolean v2 = 2; * g_assert_cmpint (v1, ==, v2); // will fail * For that, we often to use !! to coerce gboolean values to 0 or 1: * g_assert_cmpint (!!v2, ==, TRUE); * With _Bool type, this will be handled properly by the compiler. * * - For structs, we might want to safe even more space and use bitfields: * struct s1 { * gboolean v1:1; * }; * But the problem here is that gboolean is signed, so that * v1 will be either 0 or -1 (not 1, TRUE). Thus, the following * fails: * struct s1 s = { .v1 = TRUE, }; * g_assert_cmpint (s1.v1, ==, TRUE); * It will however work just fine with bool/_Bool while retaining the * notion of having a boolean value. * * Also, add the defines for "true" and "false". Those are nicely highlighted by the editor * as special types, contrary to glib's "TRUE"/"FALSE". */ #ifndef bool #define bool _Bool #define true 1 #define false 0 #endif #ifdef _G_BOOLEAN_EXPR /* g_assert() uses G_LIKELY(), which in turn uses _G_BOOLEAN_EXPR(). * As glib's implementation uses a local variable _g_boolean_var_, * we cannot do * g_assert (some_macro ()); * where some_macro() itself expands to ({g_assert(); ...}). * In other words, you cannot have a g_assert() inside a g_assert() * without getting a -Werror=shadow failure. * * Workaround that by re-defining _G_BOOLEAN_EXPR() **/ #undef _G_BOOLEAN_EXPR #define __NM_G_BOOLEAN_EXPR_IMPL(v, expr) \ ({ \ int NM_UNIQ_T(V, v); \ \ if (expr) \ NM_UNIQ_T(V, v) = 1; \ else \ NM_UNIQ_T(V, v) = 0; \ NM_UNIQ_T(V, v); \ }) #define _G_BOOLEAN_EXPR(expr) __NM_G_BOOLEAN_EXPR_IMPL (NM_UNIQ, expr) #endif /*****************************************************************************/ #endif /* __NM_MACROS_INTERNAL_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-shared-utils.c000066400000000000000000000214011507335542500263510ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* NetworkManager -- Network link manager * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * (C) Copyright 2016 Red Hat, Inc. */ #include "nm-default.h" #include "nm-shared-utils.h" #include /*****************************************************************************/ void nm_utils_strbuf_append_c (char **buf, gsize *len, char c) { switch (*len) { case 0: return; case 1: (*buf)[0] = '\0'; *len = 0; (*buf)++; return; default: (*buf)[0] = c; (*buf)[1] = '\0'; (*len)--; (*buf)++; return; } } void nm_utils_strbuf_append_str (char **buf, gsize *len, const char *str) { gsize src_len; switch (*len) { case 0: return; case 1: if (!str || !*str) { (*buf)[0] = '\0'; return; } (*buf)[0] = '\0'; *len = 0; (*buf)++; return; default: if (!str || !*str) { (*buf)[0] = '\0'; return; } src_len = g_strlcpy (*buf, str, *len); if (src_len >= *len) { *buf = &(*buf)[*len]; *len = 0; } else { *buf = &(*buf)[src_len]; *len -= src_len; } return; } } void nm_utils_strbuf_append (char **buf, gsize *len, const char *format, ...) { char *p = *buf; va_list args; gint retval; if (*len == 0) return; va_start (args, format); retval = g_vsnprintf (p, *len, format, args); va_end (args); if (retval >= *len) { *buf = &p[*len]; *len = 0; } else { *buf = &p[retval]; *len -= retval; } } /*****************************************************************************/ /* _nm_utils_ascii_str_to_int64: * * A wrapper for g_ascii_strtoll, that checks whether the whole string * can be successfully converted to a number and is within a given * range. On any error, @fallback will be returned and %errno will be set * to a non-zero value. On success, %errno will be set to zero, check %errno * for errors. Any trailing or leading (ascii) white space is ignored and the * functions is locale independent. * * The function is guaranteed to return a value between @min and @max * (inclusive) or @fallback. Also, the parsing is rather strict, it does * not allow for any unrecognized characters, except leading and trailing * white space. **/ gint64 _nm_utils_ascii_str_to_int64 (const char *str, guint base, gint64 min, gint64 max, gint64 fallback) { gint64 v; const char *s = NULL; if (str) { while (g_ascii_isspace (str[0])) str++; } if (!str || !str[0]) { errno = EINVAL; return fallback; } errno = 0; v = g_ascii_strtoll (str, (char **) &s, base); if (errno != 0) return fallback; if (s[0] != '\0') { while (g_ascii_isspace (s[0])) s++; if (s[0] != '\0') { errno = EINVAL; return fallback; } } if (v > max || v < min) { errno = ERANGE; return fallback; } return v; } /*****************************************************************************/ gint _nm_utils_ascii_str_to_bool (const char *str, gint default_value) { gsize len; char *s = NULL; if (!str) return default_value; while (str[0] && g_ascii_isspace (str[0])) str++; if (!str[0]) return default_value; len = strlen (str); if (g_ascii_isspace (str[len - 1])) { s = g_strdup (str); g_strchomp (s); str = s; } if (!g_ascii_strcasecmp (str, "true") || !g_ascii_strcasecmp (str, "yes") || !g_ascii_strcasecmp (str, "on") || !g_ascii_strcasecmp (str, "1")) default_value = TRUE; else if (!g_ascii_strcasecmp (str, "false") || !g_ascii_strcasecmp (str, "no") || !g_ascii_strcasecmp (str, "off") || !g_ascii_strcasecmp (str, "0")) default_value = FALSE; if (s) g_free (s); return default_value; } /*****************************************************************************/ G_DEFINE_QUARK (nm-utils-error-quark, nm_utils_error) void nm_utils_error_set_cancelled (GError **error, gboolean is_disposing, const char *instance_name) { if (is_disposing) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_CANCELLED_DISPOSING, "Disposing %s instance", instance_name && *instance_name ? instance_name : "source"); } else { g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_CANCELLED, "Request cancelled"); } } gboolean nm_utils_error_is_cancelled (GError *error, gboolean consider_is_disposing) { if (error) { if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) return TRUE; if ( consider_is_disposing && g_error_matches (error, NM_UTILS_ERROR, NM_UTILS_ERROR_CANCELLED_DISPOSING)) return TRUE; } return FALSE; } /*****************************************************************************/ /** * nm_g_object_set_property: * @object: the target object * @property_name: the property name * @value: the #GValue to set * @error: (allow-none): optional error argument * * A reimplementation of g_object_set_property(), but instead * returning an error instead of logging a warning. All g_object_set*() * versions in glib require you to not pass invalid types or they will * log a g_warning() -- without reporting an error. We don't want that, * so we need to hack error checking around it. * * Returns: whether the value was successfully set. */ gboolean nm_g_object_set_property (GObject *object, const gchar *property_name, const GValue *value, GError **error) { GParamSpec *pspec; nm_auto_unset_gvalue GValue tmp_value = G_VALUE_INIT; GObjectClass *klass; g_return_val_if_fail (G_IS_OBJECT (object), FALSE); g_return_val_if_fail (property_name != NULL, FALSE); g_return_val_if_fail (G_IS_VALUE (value), FALSE); g_return_val_if_fail (!error || !*error, FALSE); /* g_object_class_find_property() does g_param_spec_get_redirect_target(), * where we differ from a plain g_object_set_property(). */ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object), property_name); if (!pspec) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("object class '%s' has no property named '%s'"), G_OBJECT_TYPE_NAME (object), property_name); return FALSE; } if (!(pspec->flags & G_PARAM_WRITABLE)) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("property '%s' of object class '%s' is not writable"), pspec->name, G_OBJECT_TYPE_NAME (object)); return FALSE; } if ((pspec->flags & G_PARAM_CONSTRUCT_ONLY)) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("construct property \"%s\" for object '%s' can't be set after construction"), pspec->name, G_OBJECT_TYPE_NAME (object)); return FALSE; } klass = g_type_class_peek (pspec->owner_type); if (klass == NULL) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("'%s::%s' is not a valid property name; '%s' is not a GObject subtype"), g_type_name (pspec->owner_type), pspec->name, g_type_name (pspec->owner_type)); return FALSE; } /* provide a copy to work from, convert (if necessary) and validate */ g_value_init (&tmp_value, pspec->value_type); if (!g_value_transform (value, &tmp_value)) { g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("unable to set property '%s' of type '%s' from value of type '%s'"), pspec->name, g_type_name (pspec->value_type), G_VALUE_TYPE_NAME (value)); return FALSE; } if ( g_param_value_validate (pspec, &tmp_value) && !(pspec->flags & G_PARAM_LAX_VALIDATION)) { gs_free char *contents = g_strdup_value_contents (value); g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN, _("value \"%s\" of type '%s' is invalid or out of range for property '%s' of type '%s'"), contents, G_VALUE_TYPE_NAME (value), pspec->name, g_type_name (pspec->value_type)); return FALSE; } g_object_set_property (object, property_name, &tmp_value); return TRUE; } /*****************************************************************************/ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-shared-utils.h000066400000000000000000000066341507335542500263710ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* NetworkManager -- Network link manager * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * (C) Copyright 2016 Red Hat, Inc. */ #ifndef __NM_SHARED_UTILS_H__ #define __NM_SHARED_UTILS_H__ /*****************************************************************************/ static inline void _nm_utils_strbuf_init (char *buf, gsize len, char **p_buf_ptr, gsize *p_buf_len) { NM_SET_OUT (p_buf_len, len); NM_SET_OUT (p_buf_ptr, buf); buf[0] = '\0'; } #define nm_utils_strbuf_init(buf, p_buf_ptr, p_buf_len) \ G_STMT_START { \ G_STATIC_ASSERT (G_N_ELEMENTS (buf) == sizeof (buf) && sizeof (buf) > sizeof (char *)); \ _nm_utils_strbuf_init ((buf), sizeof (buf), (p_buf_ptr), (p_buf_len)); \ } G_STMT_END void nm_utils_strbuf_append (char **buf, gsize *len, const char *format, ...) _nm_printf (3, 4); void nm_utils_strbuf_append_c (char **buf, gsize *len, char c); void nm_utils_strbuf_append_str (char **buf, gsize *len, const char *str); /*****************************************************************************/ gint64 _nm_utils_ascii_str_to_int64 (const char *str, guint base, gint64 min, gint64 max, gint64 fallback); gint _nm_utils_ascii_str_to_bool (const char *str, gint default_value); /*****************************************************************************/ /** * NMUtilsError: * @NM_UTILS_ERROR_UNKNOWN: unknown or unclassified error * @NM_UTILS_ERROR_CANCELLED_DISPOSING: when disposing an object that has * pending aynchronous operations, the operation is cancelled with this * error reason. Depending on the usage, this might indicate a bug because * usually the target object should stay alive as long as there are pending * operations. */ typedef enum { NM_UTILS_ERROR_UNKNOWN = 0, /*< nick=Unknown >*/ NM_UTILS_ERROR_CANCELLED_DISPOSING, /*< nick=CancelledDisposing >*/ } NMUtilsError; #define NM_UTILS_ERROR (nm_utils_error_quark ()) GQuark nm_utils_error_quark (void); void nm_utils_error_set_cancelled (GError **error, gboolean is_disposing, const char *instance_name); gboolean nm_utils_error_is_cancelled (GError *error, gboolean consider_is_disposing); /*****************************************************************************/ gboolean nm_g_object_set_property (GObject *object, const gchar *property_name, const GValue *value, GError **error); /*****************************************************************************/ #endif /* __NM_SHARED_UTILS_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-test-utils.h000066400000000000000000001512061507335542500260760ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Copyright 2014 Red Hat, Inc. */ #ifndef __NM_TEST_UTILS_H__ #define __NM_TEST_UTILS_H__ /******************************************************************************* * HOWTO run tests. * * Our tests (make check) include this header-only file nm-test-utils.h. * * Logging: * In tests, nm-logging redirects to glib logging. By default, glib suppresses all debug * messages unless you set G_MESSAGES_DEBUG. To enable debug logging, you can explicitly set * G_MESSAGES_DEBUG. Otherwise, nm-test will set G_MESSAGES_DEBUG=all in debug mode (see below). * For nm-logging, you can configure the log-level and domains via NMTST_DEBUG environment * variable. * * Assert-logging: * Some tests assert against logged messages (g_test_expect_message()). * By specifying no-expect-message in NMTST_DEBUG, you can disable assert logging * and g_test_assert_expected_messages() will not fail. * * NMTST_SEED_RAND environment variable: * Tests that use random numbers from nmtst_get_rand() get seeded randomly at each start. * You can specify the seed by setting NMTST_SEED_RAND. Also, tests will print the seed * to stdout, so that you know the choosen seed. * * * NMTST_DEBUG environment variable: * * "debug", "no-debug": when at test is run in debug mode, it might behave differently, * depending on the test. See nmtst_is_debug(). * Known differences: * - a test might leave the logging level unspecified. In this case, running in * debug mode, will turn on DEBUG logging, otherwise WARN logging only. * - if G_MESSAGES_DEBUG is unset, nm-test will set G_MESSAGES_DEBUG=all * for tests that don't do assert-logging. * Debug mode is determined as follows (highest priority first): * - command line option --debug/--no-debug * - NMTST_DEBUG=debug/no-debug * - setting NMTST_DEBUG implies debugging turned on * - g_test_verbose() * * "no-expect-message": for tests that would assert against log messages, disable * those asserts. * * "log-level=LEVEL", "log-domains=DOMAIN": reset the log level and domain for tests. * It only has an effect for nm-logging messages. * This has no effect if the test asserts against logging (unless no-expect-message), * otherwise, changing the logging would break tests. * If you set the level to DEBUG or TRACE, it also sets G_MESSAGES_DEBUG=all (unless * in assert-logging mode and unless G_MESSAGES_DEBUG is already defined). * * "TRACE", this is shorthand for "log-level=TRACE". * * "D", this is shorthand for "log-level=TRACE,no-expect-message". * * "sudo-cmd=PATH": when running root tests as normal user, the test will execute * itself by invoking sudo at PATH. * For example * NMTST_DEBUG="sudo-cmd=$PWD/tools/test-sudo-wrapper.sh" make -C src/platform/tests/ check * * "slow|quick|thorough": enable/disable long-running tests. This sets nmtst_test_quick(). * Whether long-running tests are enabled is determined as follows (highest priority first): * - specifying the value in NMTST_DEBUG has highest priority * - respect g_test_quick(), if the command line contains '-mslow', '-mquick', '-mthorough'. * - use compile time default * * "p=PATH"|"s=PATH": passes the path to g_test_init() as "-p" and "-s", respectively. * Unfortunately, these options conflict with "--tap" which our makefile passes to the * tests, thus it's only useful outside of `make check`. * *******************************************************************************/ #include "nm-default.h" #if defined(NM_ASSERT_NO_MSG) && NM_ASSERT_NO_MSG #undef g_return_if_fail_warning #undef g_assertion_message_expr #endif #include #include #include #include #include #include #include "nm-utils.h" /*****************************************************************************/ #define NMTST_G_RETURN_MSG_S(expr) "*: assertion '"NM_ASSERT_G_RETURN_EXPR(expr)"' failed" #define NMTST_G_RETURN_MSG(expr) NMTST_G_RETURN_MSG_S(#expr) /*****************************************************************************/ /* general purpose functions that have no dependency on other nmtst functions */ #define nmtst_assert_error(error, expect_error_domain, expect_error_code, expect_error_pattern) \ G_STMT_START { \ GError *_error = (error); \ GQuark _expect_error_domain = (expect_error_domain); \ const char *_expect_error_pattern = (expect_error_pattern); \ \ if (_expect_error_domain) \ g_assert_error (_error, _expect_error_domain, (expect_error_code)); \ else \ g_assert (_error); \ g_assert (_error->message); \ if ( _expect_error_pattern \ && !g_pattern_match_simple (_expect_error_pattern, _error->message)) { \ g_error ("%s:%d: error message does not have expected pattern '%s'. Instead it is '%s' (%s, %d)", \ __FILE__, __LINE__, \ _expect_error_pattern, _error->message, g_quark_to_string (_error->domain), _error->code); \ } \ } G_STMT_END #define NMTST_WAIT(max_wait_ms, wait) \ ({ \ gboolean _not_expired = TRUE; \ gint64 _nmtst_end, _nmtst_max_wait_us = (max_wait_ms) * 1000L; \ \ _nmtst_end = g_get_monotonic_time () + _nmtst_max_wait_us; \ while (TRUE) { \ { wait }; \ if (g_get_monotonic_time () > _nmtst_end) { \ _not_expired = FALSE; \ break; \ } \ } \ _not_expired; \ }) #define NMTST_WAIT_ASSERT(max_wait_ms, wait) \ G_STMT_START { \ if (!(NMTST_WAIT (max_wait_ms, wait))) \ g_assert_not_reached (); \ } G_STMT_END #define nmtst_assert_success(success, error) \ G_STMT_START { \ g_assert_no_error (error); \ g_assert ((success)); \ } G_STMT_END #define nmtst_assert_no_success(success, error) \ G_STMT_START { \ g_assert (error); \ g_assert (!(success)); \ } G_STMT_END /*****************************************************************************/ struct __nmtst_internal { GRand *rand0; guint32 rand_seed; GRand *rand; gboolean is_debug; gboolean assert_logging; gboolean no_expect_message; gboolean test_quick; gboolean test_tap_log; char *sudo_cmd; char **orig_argv; }; extern struct __nmtst_internal __nmtst_internal; #define NMTST_DEFINE() \ struct __nmtst_internal __nmtst_internal = { 0 }; \ \ __attribute__ ((destructor)) static void \ _nmtst_exit (void) \ { \ __nmtst_internal.assert_logging = FALSE; \ g_test_assert_expected_messages (); \ nmtst_free (); \ } inline static gboolean nmtst_initialized (void) { return !!__nmtst_internal.rand0; } #define __NMTST_LOG(cmd, ...) \ G_STMT_START { \ g_assert (nmtst_initialized ()); \ if (!__nmtst_internal.assert_logging || __nmtst_internal.no_expect_message) { \ cmd (__VA_ARGS__); \ } else { \ printf (_NM_UTILS_MACRO_FIRST (__VA_ARGS__) "\n" _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ } \ } G_STMT_END /* split the string inplace at specific delimiters, allowing escaping with '\\'. * Returns a zero terminated array of pointers into @str. * * The caller must g_free() the returned argv array. **/ inline static char ** nmtst_str_split (char *str, const char *delimiters) { const char *d; GArray *result = g_array_sized_new (TRUE, FALSE, sizeof (char *), 3); g_assert (str); g_assert (delimiters && !strchr (delimiters, '\\')); while (*str) { gsize i = 0, j = 0; while (TRUE) { char c = str[i]; if (c == '\0') { str[j++] = 0; break; } else if (c == '\\') { str[j++] = str[++i]; if (!str[i]) break; } else { for (d = delimiters; *d; d++) { if (c == *d) { str[j++] = 0; i++; goto BREAK_INNER_LOOPS; } } str[j++] = c; } i++; } BREAK_INNER_LOOPS: g_array_append_val (result, str); str = &str[i]; } return (char **) g_array_free (result, FALSE); } /* free instances allocated by nmtst (especially nmtst_init()) on shutdown * to release memory. After nmtst_free(), the test is uninitialized again. */ inline static void nmtst_free (void) { if (!nmtst_initialized ()) return; g_rand_free (__nmtst_internal.rand0); if (__nmtst_internal.rand) g_rand_free (__nmtst_internal.rand); g_free (__nmtst_internal.sudo_cmd); g_strfreev (__nmtst_internal.orig_argv); memset (&__nmtst_internal, 0, sizeof (__nmtst_internal)); } inline static void __nmtst_init (int *argc, char ***argv, gboolean assert_logging, const char *log_level, const char *log_domains, gboolean *out_set_logging) { const char *nmtst_debug; gboolean is_debug = FALSE; char *c_log_level = NULL, *c_log_domains = NULL; char *sudo_cmd = NULL; GArray *debug_messages = g_array_new (TRUE, FALSE, sizeof (char *)); int i; gboolean no_expect_message = FALSE; gboolean _out_set_logging; gboolean test_quick = FALSE; gboolean test_quick_set = FALSE; gboolean test_quick_argv = FALSE; gs_unref_ptrarray GPtrArray *p_tests = NULL; gs_unref_ptrarray GPtrArray *s_tests = NULL; if (!out_set_logging) out_set_logging = &_out_set_logging; *out_set_logging = FALSE; g_assert (!nmtst_initialized ()); g_assert (!((!!argc) ^ (!!argv))); g_assert (!argc || (g_strv_length (*argv) == *argc)); g_assert (!assert_logging || (!log_level && !log_domains)); #ifdef __NETWORKMANAGER_UTILS_H__ if (!nm_utils_get_testing_initialized ()) _nm_utils_set_testing (_NM_UTILS_TEST_GENERAL); #endif if (argc) __nmtst_internal.orig_argv = g_strdupv (*argv); __nmtst_internal.assert_logging = !!assert_logging; nm_g_type_init (); is_debug = g_test_verbose (); nmtst_debug = g_getenv ("NMTST_DEBUG"); if (nmtst_debug) { char **d_argv, **i_argv, *nmtst_debug_copy; /* By setting then NMTST_DEBUG variable, @is_debug is set automatically. * This can be reverted with no-debug (on command line or environment variable). */ is_debug = TRUE; nmtst_debug_copy = g_strdup (nmtst_debug); d_argv = nmtst_str_split (nmtst_debug_copy, ",; \t\r\n"); for (i_argv = d_argv; *i_argv; i_argv++) { const char *debug = *i_argv; if (!g_ascii_strcasecmp (debug, "debug")) is_debug = TRUE; else if (!g_ascii_strcasecmp (debug, "no-debug")) { /* when specifying the NMTST_DEBUG variable, we set is_debug to true. Use this flag to disable this * (e.g. for only setting the log-level, but not is_debug). */ is_debug = FALSE; } else if (!g_ascii_strncasecmp (debug, "log-level=", strlen ("log-level="))) { g_free (c_log_level); log_level = c_log_level = g_strdup (&debug[strlen ("log-level=")]); } else if (!g_ascii_strcasecmp (debug, "D")) { /* shorthand for "log-level=TRACE,no-expect-message" */ g_free (c_log_level); log_level = c_log_level = g_strdup ("TRACE"); no_expect_message = TRUE; } else if (!g_ascii_strcasecmp (debug, "TRACE")) { g_free (c_log_level); log_level = c_log_level = g_strdup ("TRACE"); } else if (!g_ascii_strncasecmp (debug, "log-domains=", strlen ("log-domains="))) { g_free (c_log_domains); log_domains = c_log_domains = g_strdup (&debug[strlen ("log-domains=")]); } else if (!g_ascii_strncasecmp (debug, "sudo-cmd=", strlen ("sudo-cmd="))) { g_free (sudo_cmd); sudo_cmd = g_strdup (&debug[strlen ("sudo-cmd=")]); } else if (!g_ascii_strcasecmp (debug, "no-expect-message")) { no_expect_message = TRUE; } else if (!g_ascii_strncasecmp (debug, "p=", strlen ("p="))) { if (!p_tests) p_tests = g_ptr_array_new_with_free_func (g_free); g_ptr_array_add (p_tests, g_strdup (&debug[strlen ("p=")])); } else if (!g_ascii_strncasecmp (debug, "s=", strlen ("s="))) { if (!s_tests) s_tests = g_ptr_array_new_with_free_func (g_free); g_ptr_array_add (s_tests, g_strdup (&debug[strlen ("s=")])); } else if (!g_ascii_strcasecmp (debug, "slow") || !g_ascii_strcasecmp (debug, "thorough")) { test_quick = FALSE; test_quick_set = TRUE; } else if (!g_ascii_strcasecmp (debug, "quick")) { test_quick = TRUE; test_quick_set = TRUE; } else { char *msg = g_strdup_printf (">>> nmtst: ignore unrecognized NMTST_DEBUG option \"%s\"", debug); g_array_append_val (debug_messages, msg); } } g_free (d_argv); g_free (nmtst_debug_copy); } if (__nmtst_internal.orig_argv) { char **a = __nmtst_internal.orig_argv; for (; *a; a++) { if (!g_ascii_strcasecmp (*a, "--debug")) is_debug = TRUE; else if (!g_ascii_strcasecmp (*a, "--no-debug")) is_debug = FALSE; else if ( !strcmp (*a, "-m=slow") || !strcmp (*a, "-m=thorough") || !strcmp (*a, "-m=quick") || (!strcmp (*a, "-m") && *(a+1) && ( !strcmp (*(a+1), "quick") || !strcmp (*(a+1), "slow") || !strcmp (*(a+1), "thorough")))) test_quick_argv = TRUE; else if (strcmp (*a, "--tap") == 0) __nmtst_internal.test_tap_log = TRUE; } } if (!argc || g_test_initialized ()) { if (p_tests || s_tests) { char *msg = g_strdup_printf (">>> nmtst: ignore -p and -s options for test which calls g_test_init() itself"); g_array_append_val (debug_messages, msg); } } else { /* g_test_init() is a variadic function, so we cannot pass it * (variadic) arguments. If you need to pass additional parameters, * call nmtst_init() with argc==NULL and call g_test_init() yourself. */ /* g_test_init() sets g_log_set_always_fatal() for G_LOG_LEVEL_WARNING * and G_LOG_LEVEL_CRITICAL. So, beware that the test will fail if you * have any WARN or ERR log messages -- unless you g_test_expect_message(). */ GPtrArray *arg_array = g_ptr_array_new (); gs_free char **arg_array_c = NULL; int arg_array_n, j; static char **s_tests_x, **p_tests_x; if (*argc) { for (i = 0; i < *argc; i++) g_ptr_array_add (arg_array, (*argv)[i]); } else g_ptr_array_add (arg_array, "./test"); if (test_quick_set && !test_quick_argv) g_ptr_array_add (arg_array, "-m=quick"); if (!__nmtst_internal.test_tap_log) { for (i = 0; p_tests && i < p_tests->len; i++) { g_ptr_array_add (arg_array, "-p"); g_ptr_array_add (arg_array, p_tests->pdata[i]); } for (i = 0; s_tests && i < s_tests->len; i++) { g_ptr_array_add (arg_array, "-s"); g_ptr_array_add (arg_array, s_tests->pdata[i]); } } else if (p_tests || s_tests) { char *msg = g_strdup_printf (">>> nmtst: ignore -p and -s options for tap-tests"); g_array_append_val (debug_messages, msg); } g_ptr_array_add (arg_array, NULL); arg_array_n = arg_array->len - 1; arg_array_c = (char **) g_ptr_array_free (arg_array, FALSE); g_test_init (&arg_array_n, &arg_array_c, NULL); if (*argc > 1) { /* collaps argc/argv by removing the arguments detected * by g_test_init(). */ for (i = 1, j = 1; i < *argc; i++) { if ((*argv)[i] == arg_array_c[j]) j++; else (*argv)[i] = NULL; } for (i = 1, j = 1; i < *argc; i++) { if ((*argv)[i]) { (*argv)[j++] = (*argv)[i]; if (i >= j) (*argv)[i] = NULL; } } *argc = j; } /* we must "leak" the test paths because they are not cloned by g_test_init(). */ if (!__nmtst_internal.test_tap_log) { if (p_tests) { p_tests_x = (char **) g_ptr_array_free (p_tests, FALSE); p_tests = NULL; } if (s_tests) { s_tests_x = (char **) g_ptr_array_free (s_tests, FALSE); s_tests = NULL; } } } if (test_quick_set) __nmtst_internal.test_quick = test_quick; else if (test_quick_argv) __nmtst_internal.test_quick = g_test_quick (); else { #ifdef NMTST_TEST_QUICK __nmtst_internal.test_quick = NMTST_TEST_QUICK; #else __nmtst_internal.test_quick = FALSE; #endif } __nmtst_internal.is_debug = is_debug; __nmtst_internal.rand0 = g_rand_new_with_seed (0); __nmtst_internal.sudo_cmd = sudo_cmd; __nmtst_internal.no_expect_message = no_expect_message; if (!log_level && log_domains) { /* if the log level is not specified (but the domain is), we assume * the caller wants to set it depending on is_debug */ log_level = is_debug ? "DEBUG" : "WARN"; } if (!__nmtst_internal.assert_logging) { gboolean success = TRUE; #ifdef _NMTST_INSIDE_CORE success = nm_logging_setup (log_level, log_domains, NULL, NULL); *out_set_logging = TRUE; #endif g_assert (success); #if GLIB_CHECK_VERSION(2,34,0) if (__nmtst_internal.no_expect_message) g_log_set_always_fatal (G_LOG_FATAL_MASK); #else /* g_test_expect_message() is a NOP, so allow any messages */ g_log_set_always_fatal (G_LOG_FATAL_MASK); #endif } else if (__nmtst_internal.no_expect_message) { /* We have a test that would be assert_logging, but the user specified no_expect_message. * This transforms g_test_expect_message() into a NOP, but we also have to relax * g_log_set_always_fatal(), which was set by g_test_init(). */ g_log_set_always_fatal (G_LOG_FATAL_MASK); #ifdef _NMTST_INSIDE_CORE if (c_log_domains || c_log_level) { /* Normally, tests with assert_logging do not overwrite the logging level/domains because * the logging statements are part of the assertions. But if the test is run with * no-expect-message *and* the logging is set explicitly via environment variables, * we still reset the logging. */ gboolean success; success = nm_logging_setup (log_level, log_domains, NULL, NULL); *out_set_logging = TRUE; g_assert (success); } #endif } else { #if GLIB_CHECK_VERSION(2,34,0) /* We were called not to set logging levels. This means, that the user * expects to assert against (all) messages. Any uncought message is fatal. */ g_log_set_always_fatal (G_LOG_LEVEL_MASK); #else /* g_test_expect_message() is a NOP, so allow any messages */ g_log_set_always_fatal (G_LOG_FATAL_MASK); #endif } if ((!__nmtst_internal.assert_logging || (__nmtst_internal.assert_logging && __nmtst_internal.no_expect_message)) && (is_debug || (c_log_level && (!g_ascii_strcasecmp (c_log_level, "DEBUG") || !g_ascii_strcasecmp (c_log_level, "TRACE")))) && !g_getenv ("G_MESSAGES_DEBUG")) { /* if we are @is_debug or @log_level=="DEBUG" and * G_MESSAGES_DEBUG is unset, we set G_MESSAGES_DEBUG=all. * To disable this default behaviour, set G_MESSAGES_DEBUG='' */ /* Note that g_setenv is not thread safe, but you should anyway call * nmtst_init() at the very start. */ g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); } /* Delay messages until we setup logging. */ for (i = 0; i < debug_messages->len; i++) __NMTST_LOG (g_message, "%s", g_array_index (debug_messages, const char *, i)); g_strfreev ((char **) g_array_free (debug_messages, FALSE)); g_free (c_log_level); g_free (c_log_domains); #ifdef __NETWORKMANAGER_UTILS_H__ /* ensure that monotonic timestamp is called (because it initially logs a line) */ nm_utils_get_monotonic_timestamp_s (); #endif #ifdef NM_UTILS_H { gs_free_error GError *error = NULL; if (!nm_utils_init (&error)) g_assert_not_reached (); g_assert_no_error (error); } #endif } #ifndef _NMTST_INSIDE_CORE inline static void nmtst_init (int *argc, char ***argv, gboolean assert_logging) { __nmtst_init (argc, argv, assert_logging, NULL, NULL, NULL); } #endif inline static gboolean nmtst_is_debug (void) { g_assert (nmtst_initialized ()); return __nmtst_internal.is_debug; } inline static gboolean nmtst_test_quick (void) { g_assert (nmtst_initialized ()); return __nmtst_internal.test_quick; } #if GLIB_CHECK_VERSION(2,34,0) #undef g_test_expect_message #define g_test_expect_message(...) \ G_STMT_START { \ g_assert (nmtst_initialized ()); \ if (__nmtst_internal.assert_logging && __nmtst_internal.no_expect_message) { \ g_debug ("nmtst: assert-logging: g_test_expect_message %s", G_STRINGIFY ((__VA_ARGS__))); \ } else { \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ g_test_expect_message (__VA_ARGS__); \ G_GNUC_END_IGNORE_DEPRECATIONS \ } \ } G_STMT_END #undef g_test_assert_expected_messages_internal #define g_test_assert_expected_messages_internal(domain, file, line, func) \ G_STMT_START { \ const char *_domain = (domain); \ const char *_file = (file); \ const char *_func = (func); \ int _line = (line); \ \ if (__nmtst_internal.assert_logging && __nmtst_internal.no_expect_message) \ g_debug ("nmtst: assert-logging: g_test_assert_expected_messages(%s, %s:%d, %s)", _domain?:"", _file?:"", _line, _func?:""); \ \ G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ g_test_assert_expected_messages_internal (_domain, _file, _line, _func); \ G_GNUC_END_IGNORE_DEPRECATIONS \ } G_STMT_END #endif /*****************************************************************************/ typedef struct _NmtstTestData NmtstTestData; typedef void (*NmtstTestDataRelease) (const NmtstTestData *test_data); struct _NmtstTestData { const char *testpath; NmtstTestDataRelease fcn_release; gsize n_args; gpointer args[1]; }; inline static void _nmtst_test_data_unpack (const NmtstTestData *test_data, gsize n_args, ...) { gsize i; va_list ap; gpointer *p; g_assert (test_data); g_assert_cmpint (n_args, ==, test_data->n_args); va_start (ap, n_args); for (i = 0; i < n_args; i++) { p = va_arg (ap, gpointer *); g_assert (p); *p = test_data->args[i]; } va_end (ap); } #define nmtst_test_data_unpack(test_data, ...) _nmtst_test_data_unpack(test_data, NM_NARG (__VA_ARGS__), ##__VA_ARGS__) inline static void _nmtst_test_data_free (gpointer data) { NmtstTestData *test_data = data; g_assert (test_data); if (test_data->fcn_release) test_data->fcn_release (test_data); g_free ((gpointer) test_data->testpath); g_free (test_data); } inline static void _nmtst_add_test_func_full (const char *testpath, GTestDataFunc test_func, NmtstTestDataRelease fcn_release, gsize n_args, ...) { gsize i; NmtstTestData *data; va_list ap; data = g_malloc (G_STRUCT_OFFSET (NmtstTestData, args) + sizeof (gpointer) * (n_args + 1)); data->testpath = g_strdup (testpath); data->fcn_release = fcn_release; data->n_args = n_args; va_start (ap, n_args); for (i = 0; i < n_args; i++) data->args[i] = va_arg (ap, gpointer); data->args[i] = NULL; va_end (ap); g_test_add_data_func_full (testpath, data, test_func, _nmtst_test_data_free); } #define nmtst_add_test_func_full(testpath, test_func, fcn_release, ...) _nmtst_add_test_func_full(testpath, test_func, fcn_release, NM_NARG (__VA_ARGS__), ##__VA_ARGS__) #define nmtst_add_test_func(testpath, test_func, ...) nmtst_add_test_func_full(testpath, test_func, NULL, ##__VA_ARGS__) /*****************************************************************************/ inline static GRand * nmtst_get_rand0 (void) { g_assert (nmtst_initialized ()); return __nmtst_internal.rand0; } inline static GRand * nmtst_get_rand (void) { g_assert (nmtst_initialized ()); if (G_UNLIKELY (!__nmtst_internal.rand)) { guint32 seed; const char *str; if ((str = g_getenv ("NMTST_SEED_RAND"))) { gchar *s; gint64 i; i = g_ascii_strtoll (str, &s, 0); g_assert (s[0] == '\0' && i >= 0 && i < G_MAXUINT32); seed = i; __nmtst_internal.rand = g_rand_new_with_seed (seed); } else { __nmtst_internal.rand = g_rand_new (); seed = g_rand_int (__nmtst_internal.rand); g_rand_set_seed (__nmtst_internal.rand, seed); } __nmtst_internal.rand_seed = seed; g_print ("\nnmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=%u\n", seed); } return __nmtst_internal.rand; } inline static guint32 nmtst_get_rand_int (void) { return g_rand_int (nmtst_get_rand ()); } inline static gpointer nmtst_rand_buf (GRand *rand, gpointer buffer, gsize buffer_length) { guint32 v; guint8 *b = buffer; if (!buffer_length) return buffer; g_assert (buffer); if (!rand) rand = nmtst_get_rand (); for (; buffer_length >= sizeof (guint32); buffer_length -= sizeof (guint32), b += sizeof (guint32)) { v = g_rand_int (rand); memcpy (b, &v, sizeof (guint32)); } if (buffer_length > 0) { v = g_rand_int (rand); do { *(b++) = v & 0xFF; v >>= 8; } while (--buffer_length > 0); } return buffer; } inline static void * nmtst_rand_perm (GRand *rand, void *dst, const void *src, gsize elmt_size, gsize n_elmt) { gsize i, j; char *p_, *pj; char *bu; g_assert (dst); g_assert (elmt_size > 0); g_assert (n_elmt < G_MAXINT32); if (n_elmt == 0) return dst; if (src && dst != src) memcpy (dst, src, elmt_size * n_elmt); if (!rand) rand = nmtst_get_rand (); bu = g_slice_alloc (elmt_size); p_ = dst; for (i = n_elmt; i > 1; i--) { j = g_rand_int_range (rand, 0, i); if (j != 0) { pj = &p_[j * elmt_size]; /* swap */ memcpy (bu, p_, elmt_size); memcpy (p_, pj, elmt_size); memcpy (pj, bu, elmt_size); } p_ += elmt_size; } g_slice_free1 (elmt_size, bu); return dst; } inline static GSList * nmtst_rand_perm_gslist (GRand *rand, GSList *list) { GSList *result; guint l; if (!rand) rand = nmtst_get_rand (); /* no need for an efficient implementation :) */ result = 0; for (l = g_slist_length (list); l > 0; l--) { GSList *tmp; tmp = g_slist_nth (list, g_rand_int (rand) % l); g_assert (tmp); list = g_slist_remove_link (list, tmp); result = g_slist_concat (tmp, result); } g_assert (!list); return result; } /*****************************************************************************/ inline static gboolean _nmtst_main_loop_run_timeout (gpointer user_data) { GMainLoop **p_loop = user_data; g_assert (p_loop); g_assert (*p_loop); g_main_loop_quit (*p_loop); *p_loop = NULL; return G_SOURCE_REMOVE; } inline static gboolean nmtst_main_loop_run (GMainLoop *loop, int timeout_ms) { GSource *source = NULL; guint id = 0; GMainLoop *loopx = loop; if (timeout_ms > 0) { source = g_timeout_source_new (timeout_ms); g_source_set_callback (source, _nmtst_main_loop_run_timeout, &loopx, NULL); id = g_source_attach (source, g_main_loop_get_context (loop)); g_assert (id); g_source_unref (source); } g_main_loop_run (loop); /* if the timeout was reached, return FALSE. */ return loopx != NULL; } inline static void _nmtst_main_loop_quit_on_notify (GObject *object, GParamSpec *pspec, gpointer user_data) { GMainLoop *loop = user_data; g_assert (G_IS_OBJECT (object)); g_assert (loop); g_main_loop_quit (loop); } #define nmtst_main_loop_quit_on_notify ((GCallback) _nmtst_main_loop_quit_on_notify) /*****************************************************************************/ inline static const char * nmtst_get_sudo_cmd (void) { g_assert (nmtst_initialized ()); return __nmtst_internal.sudo_cmd; } inline static void nmtst_reexec_sudo (void) { char *str; char **argv; int i; int errsv; g_assert (nmtst_initialized ()); g_assert (__nmtst_internal.orig_argv); if (!__nmtst_internal.sudo_cmd) return; str = g_strjoinv (" ", __nmtst_internal.orig_argv); __NMTST_LOG (g_message, ">> exec %s %s", __nmtst_internal.sudo_cmd, str); argv = g_new0 (char *, 1 + g_strv_length (__nmtst_internal.orig_argv) + 1); argv[0] = __nmtst_internal.sudo_cmd; for (i = 0; __nmtst_internal.orig_argv[i]; i++) argv[i+1] = __nmtst_internal.orig_argv[i]; execvp (__nmtst_internal.sudo_cmd, argv); errsv = errno; g_error (">> exec %s failed: %d - %s", __nmtst_internal.sudo_cmd, errsv, strerror (errsv)); } /*****************************************************************************/ inline static gsize nmtst_find_all_indexes (gpointer *elements, gsize n_elements, gpointer *needles, gsize n_needles, gboolean (*equal_fcn) (gpointer element, gpointer needle, gpointer user_data), gpointer user_data, gssize *out_idx) { gsize i, j, k; gsize found = 0; for (i = 0; i < n_needles; i++) { gssize idx = -1; for (j = 0; j < n_elements; j++) { /* no duplicates */ for (k = 0; k < i; k++) { if (out_idx[k] == j) goto next; } if (equal_fcn (elements[j], needles[i], user_data)) { idx = j; break; } next: ; } out_idx[i] = idx; if (idx >= 0) found++; } return found; } /*****************************************************************************/ #define __define_nmtst_static(NUM,SIZE) \ inline static const char * \ nmtst_static_##SIZE##_##NUM (const char *str) \ { \ gsize l; \ static char buf[SIZE]; \ \ if (!str) \ return NULL; \ l = g_strlcpy (buf, str, sizeof (buf)); \ g_assert (l < sizeof (buf)); \ return buf; \ } __define_nmtst_static(01, 1024) __define_nmtst_static(02, 1024) __define_nmtst_static(03, 1024) #undef __define_nmtst_static #define NMTST_UUID_INIT(uuid) \ gs_free char *_nmtst_hidden_##uuid = nm_utils_uuid_generate (); \ const char *const uuid = _nmtst_hidden_##uuid inline static const char * nmtst_uuid_generate (void) { static char u[37]; gs_free char *m = NULL; m = nm_utils_uuid_generate (); g_assert (m && strlen (m) == sizeof (u) - 1); memcpy (u, m, sizeof (u)); return u; } #define NMTST_SWAP(x,y) \ G_STMT_START { \ char __nmtst_swap_temp[sizeof(x) == sizeof(y) ? (signed) sizeof(x) : -1]; \ memcpy(__nmtst_swap_temp, &y, sizeof(x)); \ memcpy(&y, &x, sizeof(x)); \ memcpy(&x, __nmtst_swap_temp, sizeof(x)); \ } G_STMT_END #define nmtst_assert_str_has_substr(str, substr) \ G_STMT_START { \ const char *__str = (str); \ const char *__substr = (substr); \ \ g_assert (__str); \ g_assert (__substr); \ if (strstr (__str, __substr) == NULL) \ g_error ("%s:%d: Expects \"%s\" but got \"%s\"", __FILE__, __LINE__, __substr, __str); \ } G_STMT_END inline static guint32 nmtst_inet4_from_string (const char *str) { guint32 addr; int success; if (!str) return 0; success = inet_pton (AF_INET, str, &addr); g_assert (success == 1); return addr; } inline static const struct in6_addr * nmtst_inet6_from_string (const char *str) { static struct in6_addr addr; int success; if (!str) addr = in6addr_any; else { success = inet_pton (AF_INET6, str, &addr); g_assert (success == 1); } return &addr; } inline static void _nmtst_assert_ip4_address (const char *file, int line, in_addr_t addr, const char *str_expected) { if (nmtst_inet4_from_string (str_expected) != addr) { char buf[100]; g_error ("%s:%d: Unexpected IPv4 address: expected %s, got %s", file, line, str_expected ? str_expected : "0.0.0.0", inet_ntop (AF_INET, &addr, buf, sizeof (buf))); } } #define nmtst_assert_ip4_address(addr, str_expected) _nmtst_assert_ip4_address (__FILE__, __LINE__, addr, str_expected) inline static void _nmtst_assert_ip6_address (const char *file, int line, const struct in6_addr *addr, const char *str_expected) { struct in6_addr any = in6addr_any; if (!addr) addr = &any; if (memcmp (nmtst_inet6_from_string (str_expected), addr, sizeof (*addr)) != 0) { char buf[100]; g_error ("%s:%d: Unexpected IPv6 address: expected %s, got %s", file, line, str_expected ? str_expected : "::", inet_ntop (AF_INET6, addr, buf, sizeof (buf))); } } #define nmtst_assert_ip6_address(addr, str_expected) _nmtst_assert_ip6_address (__FILE__, __LINE__, addr, str_expected) #define nmtst_spawn_sync(working_directory, standard_out, standard_err, assert_exit_status, ...) \ __nmtst_spawn_sync (working_directory, standard_out, standard_err, assert_exit_status, ##__VA_ARGS__, NULL) inline static gint __nmtst_spawn_sync (const char *working_directory, char **standard_out, char **standard_err, int assert_exit_status, ...) G_GNUC_NULL_TERMINATED; inline static gint __nmtst_spawn_sync (const char *working_directory, char **standard_out, char **standard_err, int assert_exit_status, ...) { gint exit_status = 0; GError *error = NULL; char *arg; va_list va_args; GPtrArray *argv = g_ptr_array_new (); gboolean success; va_start (va_args, assert_exit_status); while ((arg = va_arg (va_args, char *))) g_ptr_array_add (argv, arg); va_end (va_args); g_assert (argv->len >= 1); g_ptr_array_add (argv, NULL); success = g_spawn_sync (working_directory, (char**) argv->pdata, NULL, 0 /*G_SPAWN_DEFAULT*/, NULL, NULL, standard_out, standard_err, &exit_status, &error); if (!success) g_error ("nmtst_spawn_sync(%s): %s", ((char **) argv->pdata)[0], error->message); g_assert (!error); g_assert (!standard_out || *standard_out); g_assert (!standard_err || *standard_err); if (assert_exit_status != -1) { /* exit status is a guint8 on success. Set @assert_exit_status to -1 * not to check for the exit status. */ g_assert (WIFEXITED (exit_status)); g_assert_cmpint (WEXITSTATUS (exit_status), ==, assert_exit_status); } g_ptr_array_free (argv, TRUE); return exit_status; } /*****************************************************************************/ inline static char * nmtst_file_resolve_relative_path (const char *rel, const char *cwd) { gs_free char *cwd_free = NULL; g_assert (rel && *rel); if (g_path_is_absolute (rel)) return g_strdup (rel); if (!cwd) cwd = cwd_free = g_get_current_dir (); return g_build_filename (cwd, rel, NULL); } inline static char * nmtst_file_get_contents (const char *filename) { GError *error = NULL; gboolean success; char *contents = NULL; gsize len; success = g_file_get_contents (filename, &contents, &len, &error); nmtst_assert_success (success && contents, error); g_assert_cmpint (strlen (contents), ==, len); return contents; } /*****************************************************************************/ inline static void nmtst_file_unlink_if_exists (const char *name) { int errsv; g_assert (name && name[0]); if (unlink (name) != 0) { errsv = errno; if (errsv != ENOENT) g_error ("nmtst_file_unlink_if_exists(%s): failed with %s", name, strerror (errsv)); } } inline static void nmtst_file_unlink (const char *name) { int errsv; g_assert (name && name[0]); if (unlink (name) != 0) { errsv = errno; g_error ("nmtst_file_unlink(%s): failed with %s", name, strerror (errsv)); } } inline static void _nmtst_auto_unlinkfile (char **p_name) { if (*p_name) { nmtst_file_unlink (*p_name); nm_clear_g_free (p_name); } } #define nmtst_auto_unlinkfile nm_auto(_nmtst_auto_unlinkfile) /*****************************************************************************/ inline static void _nmtst_assert_resolve_relative_path_equals (const char *f1, const char *f2, const char *file, int line) { gs_free char *p1 = NULL, *p2 = NULL; p1 = nmtst_file_resolve_relative_path (f1, NULL); p2 = nmtst_file_resolve_relative_path (f2, NULL); g_assert (p1 && *p1); /* Fixme: later we might need to coalesce repeated '/', "./", and "../". * For now, it's good enough. */ if (g_strcmp0 (p1, p2) != 0) g_error ("%s:%d : filenames don't match \"%s\" vs. \"%s\" // \"%s\" - \"%s\"", file, line, f1, f2, p1, p2); } #define nmtst_assert_resolve_relative_path_equals(f1, f2) _nmtst_assert_resolve_relative_path_equals (f1, f2, __FILE__, __LINE__); /*****************************************************************************/ #ifdef NM_SETTING_IP_CONFIG_H inline static void nmtst_setting_ip_config_add_address (NMSettingIPConfig *s_ip, const char *address, guint prefix) { NMIPAddress *addr; int family; g_assert (s_ip); if (nm_utils_ipaddr_valid (AF_INET, address)) family = AF_INET; else if (nm_utils_ipaddr_valid (AF_INET6, address)) family = AF_INET6; else g_assert_not_reached (); addr = nm_ip_address_new (family, address, prefix, NULL); g_assert (addr); g_assert (nm_setting_ip_config_add_address (s_ip, addr)); nm_ip_address_unref (addr); } inline static void nmtst_setting_ip_config_add_route (NMSettingIPConfig *s_ip, const char *dest, guint prefix, const char *next_hop, gint64 metric) { NMIPRoute *route; int family; g_assert (s_ip); if (nm_utils_ipaddr_valid (AF_INET, dest)) family = AF_INET; else if (nm_utils_ipaddr_valid (AF_INET6, dest)) family = AF_INET6; else g_assert_not_reached (); route = nm_ip_route_new (family, dest, prefix, next_hop, metric, NULL); g_assert (route); g_assert (nm_setting_ip_config_add_route (s_ip, route)); nm_ip_route_unref (route); } #endif /* NM_SETTING_IP_CONFIG_H */ #if (defined(__NM_SIMPLE_CONNECTION_H__) && defined(__NM_SETTING_CONNECTION_H__)) || (defined(NM_CONNECTION_H)) inline static NMConnection * nmtst_clone_connection (NMConnection *connection) { g_assert (NM_IS_CONNECTION (connection)); #if defined(__NM_SIMPLE_CONNECTION_H__) return nm_simple_connection_new_clone (connection); #else return nm_connection_duplicate (connection); #endif } inline static NMConnection * nmtst_create_minimal_connection (const char *id, const char *uuid, const char *type, NMSettingConnection **out_s_con) { NMConnection *con; NMSetting *s_base = NULL; NMSettingConnection *s_con; gs_free char *uuid_free = NULL; g_assert (id); if (uuid) g_assert (nm_utils_is_uuid (uuid)); else uuid = uuid_free = nm_utils_uuid_generate (); if (type) { GType type_g; #if defined(__NM_SIMPLE_CONNECTION_H__) type_g = nm_setting_lookup_type (type); #else type_g = nm_connection_lookup_setting_type (type); #endif g_assert (type_g != G_TYPE_INVALID); s_base = g_object_new (type_g, NULL); g_assert (NM_IS_SETTING (s_base)); } #if defined(__NM_SIMPLE_CONNECTION_H__) con = nm_simple_connection_new (); #else con = nm_connection_new (); #endif s_con = NM_SETTING_CONNECTION (nm_setting_connection_new ()); g_object_set (s_con, NM_SETTING_CONNECTION_ID, id, NM_SETTING_CONNECTION_UUID, uuid, NM_SETTING_CONNECTION_TYPE, type, NULL); nm_connection_add_setting (con, NM_SETTING (s_con)); if (s_base) nm_connection_add_setting (con, s_base); if (out_s_con) *out_s_con = s_con; return con; } inline static gboolean _nmtst_connection_normalize_v (NMConnection *connection, va_list args) { GError *error = NULL; gboolean success; gboolean was_modified = FALSE; GHashTable *parameters = NULL; const char *p_name; g_assert (NM_IS_CONNECTION (connection)); while ((p_name = va_arg (args, const char *))) { if (!parameters) parameters = g_hash_table_new (g_str_hash, g_str_equal); g_hash_table_insert (parameters, (gpointer *) p_name, va_arg (args, gpointer)); } success = nm_connection_normalize (connection, parameters, &was_modified, &error); g_assert_no_error (error); g_assert (success); if (parameters) g_hash_table_destroy (parameters); return was_modified; } inline static gboolean _nmtst_connection_normalize (NMConnection *connection, ...) { gboolean was_modified; va_list args; va_start (args, connection); was_modified = _nmtst_connection_normalize_v (connection, args); va_end (args); return was_modified; } #define nmtst_connection_normalize(connection, ...) \ _nmtst_connection_normalize(connection, ##__VA_ARGS__, NULL) inline static NMConnection * _nmtst_connection_duplicate_and_normalize (NMConnection *connection, ...) { gboolean was_modified; va_list args; connection = nmtst_clone_connection (connection); va_start (args, connection); was_modified = _nmtst_connection_normalize_v (connection, args); va_end (args); return connection; } #define nmtst_connection_duplicate_and_normalize(connection, ...) \ _nmtst_connection_duplicate_and_normalize(connection, ##__VA_ARGS__, NULL) inline static void nmtst_assert_connection_equals (NMConnection *a, gboolean normalize_a, NMConnection *b, gboolean normalize_b) { gboolean compare; gs_unref_object NMConnection *a2 = NULL; gs_unref_object NMConnection *b2 = NULL; GHashTable *out_settings = NULL; g_assert (NM_IS_CONNECTION (a)); g_assert (NM_IS_CONNECTION (b)); if (normalize_a) a = a2 = nmtst_connection_duplicate_and_normalize (a); if (normalize_b) b = b2 = nmtst_connection_duplicate_and_normalize (b); compare = nm_connection_diff (a, b, NM_SETTING_COMPARE_FLAG_EXACT, &out_settings); if (!compare || out_settings) { const char *name, *pname; GHashTable *setting; GHashTableIter iter, iter2; __NMTST_LOG (g_message, ">>> ASSERTION nmtst_assert_connection_equals() fails"); if (out_settings) { g_hash_table_iter_init (&iter, out_settings); while (g_hash_table_iter_next (&iter, (gpointer *) &name, (gpointer *) &setting)) { __NMTST_LOG (g_message, ">>> differences in setting '%s':", name); g_hash_table_iter_init (&iter2, setting); while (g_hash_table_iter_next (&iter2, (gpointer *) &pname, NULL)) __NMTST_LOG (g_message, ">>> differences in setting '%s.%s'", name, pname); } } #ifdef __NM_KEYFILE_INTERNAL_H__ { gs_unref_keyfile GKeyFile *kf_a = NULL, *kf_b = NULL; gs_free char *str_a = NULL, *str_b = NULL; kf_a = nm_keyfile_write (a, NULL, NULL, NULL); kf_b = nm_keyfile_write (b, NULL, NULL, NULL); if (kf_a) str_a = g_key_file_to_data (kf_a, NULL, NULL); if (kf_b) str_b = g_key_file_to_data (kf_b, NULL, NULL); __NMTST_LOG (g_message, ">>> Connection A as kf (*WARNING: keyfile representation might not show the difference*):\n%s", str_a); __NMTST_LOG (g_message, ">>> Connection B as kf (*WARNING: keyfile representation might not show the difference*):\n%s", str_b); } #endif } g_assert (compare); g_assert (!out_settings); compare = nm_connection_compare (a, b, NM_SETTING_COMPARE_FLAG_EXACT); g_assert (compare); } inline static void nmtst_assert_connection_verifies (NMConnection *con) { /* assert that the connection does verify, it might be normaliziable or not */ GError *error = NULL; gboolean success; g_assert (NM_IS_CONNECTION (con)); success = nm_connection_verify (con, &error); g_assert_no_error (error); g_assert (success); } inline static void nmtst_assert_connection_verifies_without_normalization (NMConnection *con) { /* assert that the connection verifies and does not need any normalization */ GError *error = NULL; gboolean success; gboolean was_modified = FALSE; gs_unref_object NMConnection *clone = NULL; clone = nmtst_clone_connection (con); nmtst_assert_connection_verifies (con); success = nm_connection_normalize (clone, NULL, &was_modified, &error); g_assert_no_error (error); g_assert (success); nmtst_assert_connection_equals (con, FALSE, clone, FALSE); g_assert (!was_modified); } inline static void nmtst_assert_connection_verifies_and_normalizable (NMConnection *con) { /* assert that the connection does verify, but normalization still modifies it */ GError *error = NULL; gboolean success; gboolean was_modified = FALSE; gs_unref_object NMConnection *clone = NULL; clone = nmtst_clone_connection (con); nmtst_assert_connection_verifies (con); success = nm_connection_normalize (clone, NULL, &was_modified, &error); g_assert_no_error (error); g_assert (success); g_assert (was_modified); /* again! */ nmtst_assert_connection_verifies_without_normalization (clone); } inline static void nmtst_assert_connection_verifies_after_normalization (NMConnection *con, GQuark expect_error_domain, gint expect_error_code) { /* assert that the connection does not verify, but normalization does fix it */ GError *error = NULL; gboolean success; gboolean was_modified = FALSE; gs_unref_object NMConnection *clone = NULL; clone = nmtst_clone_connection (con); success = nm_connection_verify (con, &error); nmtst_assert_error (error, expect_error_domain, expect_error_code, NULL); g_assert (!success); g_clear_error (&error); success = nm_connection_normalize (clone, NULL, &was_modified, &error); g_assert_no_error (error); g_assert (success); g_assert (was_modified); /* again! */ nmtst_assert_connection_verifies_without_normalization (clone); } inline static void nmtst_assert_connection_unnormalizable (NMConnection *con, GQuark expect_error_domain, gint expect_error_code) { /* assert that the connection does not verify, and it cannot be fixed by normalization */ GError *error = NULL; gboolean success; gboolean was_modified = FALSE; gs_unref_object NMConnection *clone = NULL; clone = nmtst_clone_connection (con); success = nm_connection_verify (con, &error); nmtst_assert_error (error, expect_error_domain, expect_error_code, NULL); g_assert (!success); g_clear_error (&error); success = nm_connection_normalize (clone, NULL, &was_modified, &error); nmtst_assert_error (error, expect_error_domain, expect_error_code, NULL); g_assert (!success); g_assert (!was_modified); nmtst_assert_connection_equals (con, FALSE, clone, FALSE); g_clear_error (&error); } inline static void nmtst_assert_setting_verifies (NMSetting *setting) { /* assert that the setting verifies without an error */ GError *error = NULL; gboolean success; g_assert (NM_IS_SETTING (setting)); success = nm_setting_verify (setting, NULL, &error); g_assert_no_error (error); g_assert (success); } inline static void nmtst_assert_setting_verify_fails (NMSetting *setting, GQuark expect_error_domain, gint expect_error_code) { /* assert that the setting verification fails */ GError *error = NULL; gboolean success; g_assert (NM_IS_SETTING (setting)); success = nm_setting_verify (setting, NULL, &error); nmtst_assert_error (error, expect_error_domain, expect_error_code, NULL); g_assert (!success); g_clear_error (&error); } #endif #ifdef __NM_UTILS_H__ static inline void nmtst_assert_hwaddr_equals (gconstpointer hwaddr1, gssize hwaddr1_len, const char *expected, const char *file, int line) { guint8 buf2[NM_UTILS_HWADDR_LEN_MAX]; gsize hwaddr2_len = 1; const char *p; gboolean success; g_assert (hwaddr1_len > 0 && hwaddr1_len <= NM_UTILS_HWADDR_LEN_MAX); g_assert (expected); for (p = expected; *p; p++) { if (*p == ':' || *p == '-') hwaddr2_len++; } g_assert (hwaddr2_len <= NM_UTILS_HWADDR_LEN_MAX); g_assert (nm_utils_hwaddr_aton (expected, buf2, hwaddr2_len)); /* Manually check the entire hardware address instead of using * nm_utils_hwaddr_matches() because that function doesn't compare * entire InfiniBand addresses for various (legitimate) reasons. */ success = (hwaddr1_len == hwaddr2_len); if (success) success = !memcmp (hwaddr1, buf2, hwaddr1_len); if (!success) { g_error ("assert: %s:%d: hwaddr '%s' (%zd) expected, but got %s (%zd)", file, line, expected, hwaddr2_len, nm_utils_hwaddr_ntoa (hwaddr1, hwaddr1_len), hwaddr1_len); } } #define nmtst_assert_hwaddr_equals(hwaddr1, hwaddr1_len, expected) \ nmtst_assert_hwaddr_equals (hwaddr1, hwaddr1_len, expected, __FILE__, __LINE__) #endif #if defined(__NM_SIMPLE_CONNECTION_H__) && defined(__NM_SETTING_CONNECTION_H__) && defined(__NM_KEYFILE_INTERNAL_H__) inline static NMConnection * nmtst_create_connection_from_keyfile (const char *keyfile_str, const char *keyfile_name, const char *base_dir) { GKeyFile *keyfile; GError *error = NULL; gboolean success; NMConnection *con; g_assert (keyfile_str); keyfile = g_key_file_new (); success = g_key_file_load_from_data (keyfile, keyfile_str, strlen (keyfile_str), G_KEY_FILE_NONE, &error); g_assert_no_error (error); g_assert (success); con = nm_keyfile_read (keyfile, keyfile_name, base_dir, NULL, NULL, &error); g_assert_no_error (error); g_assert (NM_IS_CONNECTION (con)); g_key_file_unref (keyfile); nmtst_connection_normalize (con); return con; } #endif #ifdef __NM_CONNECTION_H__ inline static GVariant * _nmtst_variant_new_vardict (int dummy, ...) { GVariantBuilder builder; va_list ap; const char *name; GVariant *variant; g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT); va_start (ap, dummy); while ((name = va_arg (ap, const char *))) { variant = va_arg (ap, GVariant *); g_variant_builder_add (&builder, "{sv}", name, variant); } va_end (ap); return g_variant_builder_end (&builder); } #define nmtst_variant_new_vardict(...) _nmtst_variant_new_vardict (0, __VA_ARGS__, NULL) #define nmtst_assert_variant_is_of_type(variant, type) \ G_STMT_START { \ GVariant *_variantx = (variant); \ \ g_assert (_variantx); \ g_assert (g_variant_is_of_type (_variantx, (type))); \ } G_STMT_END #define nmtst_assert_variant_uint32(variant, val) \ G_STMT_START { \ GVariant *_variant = (variant); \ \ nmtst_assert_variant_is_of_type (_variant, G_VARIANT_TYPE_UINT32); \ g_assert_cmpint (g_variant_get_uint32 (_variant), ==, (val)); \ } G_STMT_END #define nmtst_assert_variant_string(variant, str) \ G_STMT_START { \ gsize _l; \ GVariant *_variant = (variant); \ const char *_str = (str); \ \ nmtst_assert_variant_is_of_type (_variant, G_VARIANT_TYPE_STRING); \ g_assert (_str); \ g_assert_cmpstr (g_variant_get_string (_variant, &_l), ==, _str); \ g_assert_cmpint (_l, ==, strlen (_str)); \ } G_STMT_END typedef enum { NMTST_VARIANT_EDITOR_CONNECTION, NMTST_VARIANT_EDITOR_SETTING, NMTST_VARIANT_EDITOR_PROPERTY } NmtstVariantEditorPhase; #define NMTST_VARIANT_EDITOR(__connection_variant, __code) \ G_STMT_START { \ GVariantIter __connection_iter, *__setting_iter; \ GVariantBuilder __connection_builder, __setting_builder; \ const char *__cur_setting_name, *__cur_property_name; \ GVariant *__property_val; \ NmtstVariantEditorPhase __phase; \ \ g_variant_builder_init (&__connection_builder, NM_VARIANT_TYPE_CONNECTION); \ g_variant_iter_init (&__connection_iter, __connection_variant); \ \ __phase = NMTST_VARIANT_EDITOR_CONNECTION; \ __cur_setting_name = NULL; \ __cur_property_name = NULL; \ __code; \ while (g_variant_iter_next (&__connection_iter, "{&sa{sv}}", &__cur_setting_name, &__setting_iter)) { \ g_variant_builder_init (&__setting_builder, NM_VARIANT_TYPE_SETTING); \ __phase = NMTST_VARIANT_EDITOR_SETTING; \ __cur_property_name = NULL; \ __code; \ \ while ( __cur_setting_name \ && g_variant_iter_next (__setting_iter, "{&sv}", &__cur_property_name, &__property_val)) { \ __phase = NMTST_VARIANT_EDITOR_PROPERTY; \ __code; \ \ if (__cur_property_name) { \ g_variant_builder_add (&__setting_builder, "{sv}", \ __cur_property_name, \ __property_val); \ } \ g_variant_unref (__property_val); \ } \ \ if (__cur_setting_name) \ g_variant_builder_add (&__connection_builder, "{sa{sv}}", __cur_setting_name, &__setting_builder); \ else \ g_variant_builder_clear (&__setting_builder); \ g_variant_iter_free (__setting_iter); \ } \ \ g_variant_unref (__connection_variant); \ \ __connection_variant = g_variant_builder_end (&__connection_builder); \ } G_STMT_END; #define NMTST_VARIANT_ADD_SETTING(__setting_name, __setting_variant) \ G_STMT_START { \ if (__phase == NMTST_VARIANT_EDITOR_CONNECTION) \ g_variant_builder_add (&__connection_builder, "{s@a{sv}}", __setting_name, __setting_variant); \ } G_STMT_END #define NMTST_VARIANT_DROP_SETTING(__setting_name) \ G_STMT_START { \ if (__phase == NMTST_VARIANT_EDITOR_SETTING && __cur_setting_name) { \ if (!strcmp (__cur_setting_name, __setting_name)) \ __cur_setting_name = NULL; \ } \ } G_STMT_END #define NMTST_VARIANT_ADD_PROPERTY(__setting_name, __property_name, __format_string, __value) \ G_STMT_START { \ if (__phase == NMTST_VARIANT_EDITOR_SETTING) { \ if (!strcmp (__cur_setting_name, __setting_name)) { \ g_variant_builder_add (&__setting_builder, "{sv}", __property_name, \ g_variant_new (__format_string, __value)); \ } \ } \ } G_STMT_END #define NMTST_VARIANT_DROP_PROPERTY(__setting_name, __property_name) \ G_STMT_START { \ if (__phase == NMTST_VARIANT_EDITOR_PROPERTY && __cur_property_name) { \ if ( !strcmp (__cur_setting_name, __setting_name) \ && !strcmp (__cur_property_name, __property_name)) \ __cur_property_name = NULL; \ } \ } G_STMT_END #define NMTST_VARIANT_CHANGE_PROPERTY(__setting_name, __property_name, __format_string, __value) \ G_STMT_START { \ NMTST_VARIANT_DROP_PROPERTY (__setting_name, __property_name); \ NMTST_VARIANT_ADD_PROPERTY (__setting_name, __property_name, __format_string, __value); \ } G_STMT_END #endif /* __NM_CONNECTION_H__ */ #endif /* __NM_TEST_UTILS_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-vpn-plugin-macros.h000066400000000000000000000056321507335542500273430ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Copyright 2016 Red Hat, Inc. */ #ifndef __NM_VPN_PLUGIN_MACROS_H__ #define __NM_VPN_PLUGIN_MACROS_H__ #include static inline int nm_utils_syslog_coerce_from_nm (int syslog_level) { /* NetworkManager uses internally NMLogLevel levels. When spawning * the VPN plugin, it maps those levels to syslog levels as follows: * * LOGL_INFO = LOG_NOTICE, * LOGL_DEBUG = LOG_INFO, * LOGL_TRACE = LOG_DEBUG, * * However, when actually printing to syslog, we don't want to print messages * with LOGL_INFO level as LOG_NOTICE, because they are *not* to be highlighted. * * In other words: NetworkManager has 3 levels that should not require highlighting: * LOGL_INFO, LOGL_DEBUG, LOGL_TRACE. syslog on the other hand has only LOG_INFO and LOG_DEBUG. * * So, coerce those values before printing to syslog. When you receive the syslog_level * from NetworkManager, instead of calling * syslog(syslog_level, ...) * you should call * syslog(nm_utils_syslog_coerce_from_nm(syslog_level), ...) */ switch (syslog_level) { case LOG_INFO: return LOG_DEBUG; case LOG_NOTICE: return LOG_INFO; default: return syslog_level; } } static inline const char * nm_utils_syslog_to_str (int syslog_level) { /* Maps the levels the same way as NetworkManager's nm-logging.c does */ if (syslog_level >= LOG_DEBUG) return ""; if (syslog_level >= LOG_INFO) return ""; if (syslog_level >= LOG_NOTICE) return ""; if (syslog_level >= LOG_WARNING) return ""; return ""; } /*****************************************************************************/ /* possibly missing defines from newer libnm API. */ #ifndef NM_VPN_PLUGIN_CONFIG_PROXY_PAC #define NM_VPN_PLUGIN_CONFIG_PROXY_PAC "pac" #endif #ifndef NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES #define NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES "preserve-routes" #endif #ifndef NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES #define NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES "preserve-routes" #endif /*****************************************************************************/ #endif /* __NM_VPN_PLUGIN_MACROS_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-vpn-plugin-utils.c000066400000000000000000000124641507335542500272130ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Copyright 2016,2018 Red Hat, Inc. */ #include "nm-default.h" #include "nm-vpn-plugin-utils.h" #include /*****************************************************************************/ NMVpnEditor * nm_vpn_plugin_utils_load_editor (const char *module_name, const char *factory_name, NMVpnPluginUtilsEditorFactory editor_factory, NMVpnEditorPlugin *editor_plugin, NMConnection *connection, gpointer user_data, GError **error) { static struct { gpointer factory; void *dl_module; char *module_name; char *factory_name; } cached = { 0 }; NMVpnEditor *editor; gs_free char *module_path = NULL; gs_free char *dirname = NULL; Dl_info plugin_info; g_return_val_if_fail (module_name, NULL); g_return_val_if_fail (factory_name && factory_name[0], NULL); g_return_val_if_fail (editor_factory, NULL); g_return_val_if_fail (NM_IS_VPN_EDITOR_PLUGIN (editor_plugin), NULL); g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL); g_return_val_if_fail (!error || !*error, NULL); if (!g_path_is_absolute (module_name)) { /* * Load an editor from the same directory this plugin is in. * Ideally, we'd get our .so name from the NMVpnEditorPlugin if it * would just have a property with it... */ if (!dladdr(nm_vpn_plugin_utils_load_editor, &plugin_info)) { /* Really a "can not happen" scenario. */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_FAILED, _("unable to get editor plugin name: %s"), dlerror ()); } dirname = g_path_get_dirname (plugin_info.dli_fname); module_path = g_build_filename (dirname, module_name, NULL); } else { module_path = g_strdup (module_name); } /* we really expect this function to be called with unchanging @module_name * and @factory_name. And we only want to load the module once, hence it would * be more complicated to accept changing @module_name/@factory_name arguments. * * The reason for only loading once is that due to glib types, we cannot create a * certain type-name more then once, so loading the same module or another version * of the same module will fail horribly as both try to create a GType with the same * name. * * Only support loading once, any future calls will reuse the handle. To simplify * that, we enforce that the @factory_name and @module_name is the same. */ if (cached.factory) { g_return_val_if_fail (cached.dl_module, NULL); g_return_val_if_fail (cached.factory_name && nm_streq0 (cached.factory_name, factory_name), NULL); g_return_val_if_fail (cached.module_name && nm_streq0 (cached.module_name, module_name), NULL); } else { gpointer factory; void *dl_module; dl_module = dlopen (module_path, RTLD_LAZY | RTLD_LOCAL); if (!dl_module) { if (!g_file_test (module_path, G_FILE_TEST_EXISTS)) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT, _("missing plugin file \"%s\""), module_path); return NULL; } g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_FAILED, _("cannot load editor plugin: %s"), dlerror ()); return NULL; } factory = dlsym (dl_module, factory_name); if (!factory) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_FAILED, _("cannot load factory %s from plugin: %s"), factory_name, dlerror ()); dlclose (dl_module); return NULL; } /* we cannot ever unload the module because it creates glib types, which * cannot be unregistered. * * Thus we just leak the dl_module handle indefinitely. */ cached.factory = factory; cached.dl_module = dl_module; cached.module_name = g_strdup (module_name); cached.factory_name = g_strdup (factory_name); } editor = editor_factory (cached.factory, editor_plugin, connection, user_data, error); if (!editor) { if (error && !*error ) { g_set_error_literal (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_FAILED, _("unknown error creating editor instance")); g_return_val_if_reached (NULL); } return NULL; } g_return_val_if_fail (NM_IS_VPN_EDITOR (editor), NULL); return editor; } danfruehauf-NetworkManager-ssh-f65d65d/shared/nm-utils/nm-vpn-plugin-utils.h000066400000000000000000000035561507335542500272220ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Copyright 2016 Red Hat, Inc. */ #ifndef __NM_VPN_PLUGIN_UTILS_H__ #define __NM_VPN_PLUGIN_UTILS_H__ #include typedef NMVpnEditor *(NMVpnPluginUtilsEditorFactory) (gpointer factory, NMVpnEditorPlugin *editor_plugin, NMConnection *connection, gpointer user_data, GError **error); NMVpnEditor *nm_vpn_plugin_utils_load_editor (const char *module_name, const char *factory_name, NMVpnPluginUtilsEditorFactory editor_factory, NMVpnEditorPlugin *editor_plugin, NMConnection *connection, gpointer user_data, GError **error); #endif /* __NM_VPN_PLUGIN_UTILS_H__ */ danfruehauf-NetworkManager-ssh-f65d65d/src/000077500000000000000000000000001507335542500207445ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/src/.gitignore000066400000000000000000000002661507335542500227400ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app Makefile Makefile.in .deps nm-ssh-service danfruehauf-NetworkManager-ssh-f65d65d/src/nm-ssh-service.c000066400000000000000000001463271507335542500237700ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* nm-ssh-service - ssh integration with NetworkManager * * Copyright (C) 2013 Dan Fruehauf * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * $Id: nm-ssh-service.c 4232 2008-10-29 09:13:40Z tambeti $ * */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "nm-ssh-service.h" #include "nm-utils.h" #if !defined(DIST_VERSION) # define DIST_VERSION VERSION #endif static gboolean debug = FALSE; static GMainLoop *loop = NULL; G_DEFINE_TYPE (NMSshPlugin, nm_ssh_plugin, NM_TYPE_VPN_SERVICE_PLUGIN) #define NM_SSH_PLUGIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SSH_PLUGIN, NMSshPluginPrivate)) typedef struct { char *username; char *password; /* IPv4 variables */ char *remote_gw; char *local_addr; char *remote_addr; char *netmask; /* IPv6 variables */ gboolean ipv6; char *local_addr_6; char *remote_addr_6; char *netmask_6; /* sudo on remote command */ gboolean sudo; /* Socks mode - no tunnel activated */ gboolean no_tunnel; gboolean no_remote_command; gboolean network_config_sent; char* no_tunnel_interface; char* socks_bind_address; char* local_bind_address; char* remote_bind_address; /* fds for handling input/output of the SSH process */ GIOChannel *ssh_stdin_channel; GIOChannel *ssh_stderr_channel; guint socket_channel_stderr_eventid; /* hold local and remote tun/tap numbers * dev_type can be only "tap" or "tun" */ gchar dev_type[4]; gint remote_dev_number; gint local_dev_number; guint mtu; } NMSshPluginIOData; typedef struct { GPid pid; guint connect_count; NMSshPluginIOData *io_data; } NMSshPluginPrivate; typedef struct { const char *name; GType type; gint int_min; gint int_max; gboolean address; } ValidProperty; static ValidProperty valid_properties[] = { /* TRUE/FALSE will dictate whether it is an address (X.X.X.X) or not */ { NM_SSH_KEY_REMOTE, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_LOCAL_IP, G_TYPE_STRING, 0, 0, TRUE }, { NM_SSH_KEY_REMOTE_IP, G_TYPE_STRING, 0, 0, TRUE }, { NM_SSH_KEY_NETMASK, G_TYPE_STRING, 0, 0, TRUE }, { NM_SSH_KEY_PORT, G_TYPE_INT, 1, 65535, FALSE }, { NM_SSH_KEY_TUNNEL_MTU, G_TYPE_INT, 1, 9000, FALSE }, { NM_SSH_KEY_REMOTE_DEV, G_TYPE_INT, 0, 255, FALSE }, { NM_SSH_KEY_TAP_DEV, G_TYPE_BOOLEAN, 0, 0, FALSE }, { NM_SSH_KEY_REMOTE_USERNAME, G_TYPE_STRING, 0, 0, FALSE }, /* FIXME should fix host validation for IPv6 addresses */ { NM_SSH_KEY_SUDO, G_TYPE_BOOLEAN, 0, 0, FALSE }, { NM_SSH_KEY_IP_6, G_TYPE_BOOLEAN, 0, 0, FALSE }, { NM_SSH_KEY_REMOTE_IP_6, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_LOCAL_IP_6, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_NETMASK_6, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_AUTH_TYPE, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_KEY_FILE, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_NO_TUNNEL_INTERFACE, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_SOCKS_BIND_ADDRESS, G_TYPE_STRING, 0, 0, FALSE }, { NM_SSH_KEY_PASSWORD"-flags", G_TYPE_STRING, 0, 0, FALSE }, { NULL, G_TYPE_NONE, FALSE } }; static gboolean validate_address (const char *address) { const char *p = address; if (!address || !strlen (address)) return FALSE; /* Ensure it's a valid DNS name or IP address */ while (*p) { if (!isalnum (*p) && (*p != '-') && (*p != '.') && (*p != ':')) return FALSE; p++; } return TRUE; } typedef struct ValidateInfo { ValidProperty *table; GError **error; gboolean have_items; } ValidateInfo; static void validate_one_property (const char *key, const char *value, gpointer user_data) { ValidateInfo *info = (ValidateInfo *) user_data; int i; if (*(info->error)) return; info->have_items = TRUE; /* 'name' is the setting name; always allowed but unused */ if (!strncmp (key, NM_SETTING_NAME, strlen(NM_SETTING_NAME)) && strlen(key) == strlen(NM_SETTING_NAME)) return; for (i = 0; info->table[i].name; i++) { ValidProperty prop = info->table[i]; long int tmp; if (!strncmp (prop.name, key, strlen(prop.name)) && strlen(prop.name) == strlen(key)) continue; switch (prop.type) { case G_TYPE_STRING: if (!prop.address || validate_address (value)) return; /* valid */ g_set_error (info->error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("invalid address '%s'"), key); break; case G_TYPE_INT: errno = 0; tmp = strtol (value, NULL, 10); if (errno == 0 && tmp >= prop.int_min && tmp <= prop.int_max) return; /* valid */ g_set_error (info->error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("invalid integer property '%s' or out of range [%d -> %d]"), key, prop.int_min, prop.int_max); break; case G_TYPE_BOOLEAN: if (IS_YES(value) || !strncmp (value, NO, strlen(NO))) return; /* valid */ g_set_error (info->error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("invalid boolean property '%s' (not yes or no)"), key); break; default: g_set_error (info->error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("unhandled property '%s' type %s"), key, g_type_name (prop.type)); break; } } /* Did not find the property from valid_properties or the type did not match */ if (!info->table[i].name) { g_set_error (info->error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("property '%s' invalid or not supported"), key); } } static gboolean nm_ssh_properties_validate (NMSettingVpn *s_vpn, GError **error) { GError *validate_error = NULL; ValidateInfo info = { &valid_properties[0], &validate_error, FALSE }; nm_setting_vpn_foreach_data_item (s_vpn, validate_one_property, &info); if (!info.have_items) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("No VPN configuration options.")); return FALSE; } if (validate_error) { *error = validate_error; return FALSE; } return TRUE; } static GVariant * addr6_to_gvariant (const char *str) { struct in6_addr temp_addr; GVariantBuilder builder; int i; /* Empty */ if (!str || strlen (str) < 1) return NULL; if (inet_pton (AF_INET6, str, &temp_addr) <= 0) return NULL; g_variant_builder_init (&builder, G_VARIANT_TYPE ("ay")); for (i = 0; i < sizeof (temp_addr); i++) g_variant_builder_add (&builder, "y", ((guint8 *) &temp_addr)[i]); return g_variant_builder_end (&builder); } static GVariant * str_to_gvariant (const char *str, gboolean try_convert) { /* Empty */ if (!str || strlen (str) < 1) return NULL; if (!g_utf8_validate (str, -1, NULL)) { if (try_convert && !(str = g_convert (str, -1, "ISO-8859-1", "UTF-8", NULL, NULL, NULL))) str = g_convert (str, -1, "C", "UTF-8", NULL, NULL, NULL); if (!str) /* Invalid */ return NULL; } return g_variant_new_string (str); } static GVariant * addr4_to_gvariant (const char *str) { struct in_addr temp_addr; /* Empty */ if (!str || strlen (str) < 1) return NULL; if (inet_pton (AF_INET, str, &temp_addr) <= 0) return NULL; return g_variant_new_uint32 (temp_addr.s_addr); } static char * resolve_hostname (const char *hostname, gboolean* retval_is_ipv6) { struct in_addr addr; struct in6_addr addr6; char *ip = NULL; const char *p; char addr_buffer[INET6_ADDRSTRLEN]; gboolean is_name = FALSE; gboolean is_ipv4 = FALSE; gboolean is_ipv6 = FALSE; gboolean has_dot = FALSE; gboolean has_colon = FALSE; *retval_is_ipv6 = FALSE; /* Check if it seems to be a hostname */ p = hostname; while (*p) { if (*p == '.') { has_dot = TRUE; } else if (*p == ':') { has_colon = TRUE; } else if (!isxdigit((unsigned char) *p)) { is_name = TRUE; break; } p++; } /* Determine type (ipv4/ipv6) */ if (!is_name) { if (has_dot && !has_colon) { is_ipv4 = TRUE; } else if (has_colon && !has_dot) { is_ipv6 = TRUE; } else { /* Contains both '.' and ':' - not valid IP syntax, consider it a name and resolve it */ is_name = TRUE; } } /* Resolve a hostname if required */ if (is_name) { struct addrinfo hints; struct addrinfo *result = NULL, *rp; int err; memset (&hints, 0, sizeof (hints)); hints.ai_family = AF_UNSPEC; hints.ai_flags = AI_ADDRCONFIG; err = getaddrinfo (hostname, NULL, &hints, &result); if (err != 0) { g_warning ("%s: failed to look up VPN gateway address '%s' (%d)", __func__, hostname, err); return NULL; } /* FIXME: so what if the name resolves to multiple IP addresses? We * don't know which one pptp decided to use so we could end up using a * different one here, and the VPN just won't work. */ for (rp = result; rp; rp = rp->ai_next) { if ((rp->ai_family == AF_INET) && (rp->ai_addrlen == sizeof (struct sockaddr_in))) { struct sockaddr_in *inptr = (struct sockaddr_in *) rp->ai_addr; ip = g_strdup(inet_ntoa (inptr->sin_addr)); if (debug) g_message("Resolved gateway '%s'->'%s' (ipv4)", hostname, ip); break; } else if ((rp->ai_family == AF_INET6) && (rp->ai_addrlen == sizeof (struct sockaddr_in6))) { struct sockaddr_in6 *inptr = (struct sockaddr_in6 *) rp->ai_addr; *retval_is_ipv6 = TRUE; ip = g_strdup(inet_ntop(AF_INET6, &inptr->sin6_addr, addr_buffer, sizeof(addr_buffer))); if (debug) g_message("Resolved gateway '%s'->'%s' (ipv6)", hostname, ip); break; } } freeaddrinfo (result); } else { if (is_ipv4) { errno = 0; if (inet_pton (AF_INET, hostname, &addr) <= 0) { g_warning ("%s: failed to convert IPv4 VPN gateway address '%s' (%d)", __func__, hostname, errno); return NULL; } } else if (is_ipv6) { *retval_is_ipv6 = TRUE; errno = 0; if (inet_pton (AF_INET6, hostname, &addr6) <= 0) { g_warning ("%s: failed to convert IPv6 VPN gateway address '%s' (%d)", __func__, hostname, errno); return NULL; } } ip = g_strdup (hostname); } return ip; } static gboolean send_network_config (NMSshPlugin *plugin) { NMSshPluginPrivate *priv = NM_SSH_PLUGIN_GET_PRIVATE (plugin); NMSshPluginIOData *io_data = priv->io_data; GVariantBuilder config, ip4config, ip6config; GVariant *val; char *device; char *resolved_hostname; if (io_data->network_config_sent) { return TRUE; } g_variant_builder_init (&config, G_VARIANT_TYPE_VARDICT); g_variant_builder_init (&ip4config, G_VARIANT_TYPE_VARDICT); g_variant_builder_init (&ip6config, G_VARIANT_TYPE_VARDICT); if (debug) { g_message ("Local device: '%s%d'", io_data->dev_type, io_data->local_dev_number); g_message ("Remote gateway: '%s'", io_data->remote_gw); g_message ("Remote IP: '%s'", io_data->remote_addr); g_message ("Local IP: '%s'", io_data->local_addr); g_message ("Netmask: '%s'", io_data->netmask); if (io_data->ipv6) { g_message ("IPv6 Remote IP: '%s'", io_data->remote_addr_6); g_message ("IPv6 Local IP: '%s'", io_data->local_addr_6); g_message ("IPv6 Prefix: '%s'", io_data->netmask_6); } } /* General non IPv4 or IPv6 values (remote_gw, device, mtu) */ /* remote_gw */ if (io_data->remote_gw) { /* We might have to resolve that */ gboolean is_ipv6 = FALSE; resolved_hostname = resolve_hostname (io_data->remote_gw, &is_ipv6); if (resolved_hostname) { if (is_ipv6) { val = addr6_to_gvariant (resolved_hostname); } else { val = addr4_to_gvariant (resolved_hostname); } g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_EXT_GATEWAY, val); g_free (resolved_hostname); } else { g_warning ("Could not resolve remote_gw."); } } else g_warning ("remote_gw unset."); if (io_data->no_tunnel) { val = str_to_gvariant (priv->io_data->no_tunnel_interface, FALSE); g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_TUNDEV, val); } else { /* device */ if (io_data->local_dev_number != -1) { device = (gpointer) g_strdup_printf ("%s%d", io_data->dev_type, io_data->local_dev_number); val = str_to_gvariant (device, FALSE); g_free(device); g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_TUNDEV, val); } else { g_warning ("local_dev_number unset."); } } /* mtu */ if (io_data->mtu > 0) { val = str_to_gvariant (g_strdup_printf("%d", io_data->mtu), FALSE); g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_MTU, val); } else g_warning ("local_dev_number unset."); /* End General non IPv4 or IPv6 values */ /* ---------------------------------------------------- */ /* IPv4 specific (local_addr, remote_addr, netmask) */ g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_HAS_IP4, g_variant_new_boolean (TRUE)); /* local_address */ if (io_data->local_addr) { val = addr4_to_gvariant (io_data->local_addr); g_variant_builder_add (&ip4config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS, val); } else g_warning ("local_addr unset."); /* remote_addr */ if (io_data->remote_addr) { val = addr4_to_gvariant (io_data->remote_addr); g_variant_builder_add (&ip4config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY, val); g_variant_builder_add (&ip4config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_PTP, val); } else g_warning ("remote_addr unset."); /* netmask */ if (io_data->netmask && g_str_has_prefix (io_data->netmask, "255.")) { guint32 addr; val = addr4_to_gvariant(io_data->netmask); addr = g_variant_get_uint32 (val); g_variant_unref (val); val = g_variant_new_uint32 (nm_utils_ip4_netmask_to_prefix (addr)); g_variant_builder_add (&ip4config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, val); } else g_warning ("netmask unset."); /* End IPv4 specific (local_addr, remote_addr, netmask) */ /* ---------------------------------------------------- */ /* IPv6 specific (local_addr_6, remote_addr_6, netmask_6) */ if (io_data->ipv6) { g_variant_builder_add (&config, "{sv}", NM_VPN_PLUGIN_CONFIG_HAS_IP6, g_variant_new_boolean (TRUE)); /* local_addr_6 */ if (io_data->local_addr_6) { val = addr6_to_gvariant (io_data->local_addr_6); g_variant_builder_add (&ip6config, "{sv}", NM_VPN_PLUGIN_IP6_CONFIG_ADDRESS, val); } else g_warning ("local_addr_6 unset."); /* remote_addr_6 */ if (io_data->remote_addr_6) { val = addr6_to_gvariant (io_data->remote_addr_6); g_variant_builder_add (&ip6config, "{sv}", NM_VPN_PLUGIN_IP6_CONFIG_INT_GATEWAY, val); g_variant_builder_add (&ip6config, "{sv}", NM_VPN_PLUGIN_IP6_CONFIG_PTP, val); } else g_warning ("remote_addr_6 unset."); /* netmask_6 */ if (io_data->netmask_6) { val = g_variant_new_uint32 (strtol (io_data->netmask_6, NULL, 10)); g_variant_builder_add (&ip6config, "{sv}", NM_VPN_PLUGIN_IP6_CONFIG_PREFIX, val); } else g_warning ("netmask_6 unset."); } /* End IPv6 specific (local_addr_6, remote_addr_6, netmask_6) */ /* ---------------------------------------------------- */ if (io_data->no_tunnel) { g_variant_builder_add (&ip4config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT, g_variant_new_boolean (TRUE)); g_variant_builder_add (&ip6config, "{sv}", NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT, g_variant_new_boolean (TRUE)); } /* Send general config */ nm_vpn_service_plugin_set_config ((NMVpnServicePlugin*) plugin, g_variant_builder_end (&config)); /* Send IPv6 config */ if (io_data->ipv6) nm_vpn_service_plugin_set_ip6_config ((NMVpnServicePlugin*) plugin, g_variant_builder_end (&ip6config)); /* Send IPv4 config */ nm_vpn_service_plugin_set_ip4_config ((NMVpnServicePlugin*) plugin, g_variant_builder_end (&ip4config)); io_data->network_config_sent = TRUE; return TRUE; } static gboolean nm_ssh_stderr_cb (GIOChannel *source, GIOCondition condition, gpointer user_data) { NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (user_data); NMSshPluginPrivate *priv = NM_SSH_PLUGIN_GET_PRIVATE (plugin); char *str = NULL; if (!(condition & G_IO_IN)) return TRUE; if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) return TRUE; if (strlen (str) < 1) { g_free(str); return TRUE; } /* Probe for the remote interface number */ if (g_str_has_prefix(str, "debug1: Requesting tun unit")) { /* This message denotes the tun/tap device opening on the remote host */ } else if (g_str_has_prefix (str, "debug1: sys_tun_open:")) { /* This message denotes the tun/tap device opening on the local host * Starting timer here for getting local interface up... */ } else if (g_str_has_prefix (str, "Tunnel device open failed.")) { /* Opening of local tun device failed... :( */ g_warning("Tunnel device open failed."); nm_vpn_service_plugin_failure (plugin, NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED); } else if (g_str_has_prefix (str, "debug1: Sending command:")) { /* If we got to sending the command, it means that things are * established, we should start the timer to get the local * interface up... */ if (priv->pid) send_network_config((NMSshPlugin *)plugin); else if(debug) g_message("Not starting local timer because plugin is in STOPPED state"); } else if (g_str_has_prefix (str, "debug1: Local forwarding listening on")) { g_message("Port forwarding mode detected"); if (priv->io_data->no_remote_command) { g_message("Sending network configuration (no remote_command)"); send_network_config((NMSshPlugin *)plugin); } } else if (g_str_has_prefix (str, "debug1: Remote: Server has rejected tunnel device forwarding")) { /* Opening of remote tun device failed... :( */ g_warning("Tunnel device open failed on remote server."); g_warning("Make sure you have privileges to open tun/tap devices and that your SSH server is configured with 'PermitTunnel=yes'"); nm_vpn_service_plugin_failure (plugin, NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED); } else if (g_str_has_prefix (str, "debug1: Remote: Failed to open the tunnel device.")) { /* Opening of remote tun device failed... device busy? */ g_warning("Tunnel device open failed on remote server."); g_warning("Is this device free on the remote host?"); nm_vpn_service_plugin_failure (plugin, NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED); } else if (strncmp (str, "The authenticity of host", 24) == 0) { /* User will have to accept this new host with its fingerprint */ g_warning("It is not a known host, continue connecting?"); nm_vpn_service_plugin_failure (plugin, NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED); } g_message("%s", str); g_free(str); return TRUE; } static gint nm_ssh_get_free_device (const char *device_type) { gint device; char *system_cmd; for (device = 0; device <= 255; device++) { system_cmd = (gpointer) g_strdup_printf ("%s link show %s%d > /dev/null 2>&1", IPROUTE2, device_type, device); if (system(system_cmd) != 0) { g_free(system_cmd); return device; } g_free(system_cmd); } return -1; } static void ssh_watch_cb (GPid pid, gint status, gpointer user_data) { NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (user_data); NMSshPluginPrivate *priv = NM_SSH_PLUGIN_GET_PRIVATE (plugin); NMVpnPluginFailure failure = NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED; guint error = 0; gboolean good_exit = FALSE; if (WIFEXITED (status)) { error = WEXITSTATUS (status); if (error != 0) g_warning ("ssh exited with error code %d", error); } else if (WIFSTOPPED (status)) g_warning ("ssh stopped unexpectedly with signal %d", WSTOPSIG (status)); else if (WIFSIGNALED (status)) g_warning ("ssh died with signal %d", WTERMSIG (status)); else g_warning ("ssh died from an unknown cause"); /* Reap child if needed. */ waitpid (priv->pid, NULL, WNOHANG); priv->pid = 0; /* SSH doesn't supply useful exit codes :( */ switch (error) { case 0: good_exit = TRUE; break; default: failure = NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED; break; } /* Try to get the last bits of data from ssh */ if (priv->io_data && priv->io_data->ssh_stderr_channel) { GIOChannel *channel = priv->io_data->ssh_stderr_channel; GIOCondition condition; while ((condition = g_io_channel_get_buffer_condition (channel)) & G_IO_IN) { if (!nm_ssh_stderr_cb (channel, condition, plugin)) { good_exit = FALSE; break; } } } g_source_remove(priv->io_data->socket_channel_stderr_eventid); close (g_io_channel_unix_get_fd(priv->io_data->ssh_stderr_channel)); if (good_exit) nm_vpn_service_plugin_disconnect (plugin, NULL); else nm_vpn_service_plugin_failure (plugin, failure); } static const char * nm_find_ssh (void) { static const char *ssh_binary_paths[] = { "/usr/bin/ssh", "/bin/ssh", "/usr/local/bin/ssh", NULL }; const char **ssh_binary = ssh_binary_paths; while (*ssh_binary != NULL) { if (g_file_test (*ssh_binary, G_FILE_TEST_EXISTS)) break; ssh_binary++; } return *ssh_binary; } /* FIXME refactor this with nm_find_ssh */ static const char * nm_find_sshpass (void) { static const char *sshpass_binary_paths[] = { "/usr/bin/sshpass", "/bin/sshpass", "/usr/local/bin/sshpass", NULL }; const char **sshpass_binary = sshpass_binary_paths; while (*sshpass_binary != NULL) { if (g_file_test (*sshpass_binary, G_FILE_TEST_EXISTS)) break; sshpass_binary++; } return *sshpass_binary; } static void free_ssh_args (GPtrArray *args) { g_ptr_array_foreach (args, (GFunc) g_free, NULL); g_ptr_array_free (args, TRUE); } static void add_ssh_arg (GPtrArray *args, const char *arg) { g_return_if_fail (args != NULL); g_return_if_fail (arg != NULL); g_ptr_array_add (args, (gpointer) g_strdup (arg)); } static gboolean get_ssh_arg_int (const char *arg, long int *retval) { long int tmp_int; /* Convert -> int and back to string for security's sake since * strtol() ignores some leading and trailing characters. */ errno = 0; tmp_int = strtol (arg, NULL, 10); if (errno != 0) return FALSE; *retval = tmp_int; return TRUE; } static char* get_known_hosts_file(const char *username, const char* ssh_agent_socket) { struct stat info; struct passwd *pw = NULL; char *ssh_known_hosts = NULL; /* Probe by passed username */ if (username) { pw = getpwnam(username); /* Probe by passed ssh-agent socket ownership */ } else if (ssh_agent_socket) { if (0 == stat(ssh_agent_socket, &info)) { pw = getpwuid(info.st_uid); } else { g_warning("Error getting ssh-agent socket ownership: %d", errno); } } /* FIXME Check if provided SSH_KNOWN_HOSTS_PATH really exists */ if (pw) { ssh_known_hosts = g_strdup_printf("%s/%s", pw->pw_dir, SSH_KNOWN_HOSTS_PATH); if (0 != stat(ssh_known_hosts, &info)) { g_warning("No known_hosts at '%s': %d.", ssh_known_hosts, errno); g_free(ssh_known_hosts); } } return ssh_known_hosts; } static gboolean nm_ssh_start_ssh_binary (NMSshPlugin *plugin, NMSettingVpn *s_vpn, const char *default_username, GError **error) { /* This giant function is basically taking care of passing all the * correct parameters to ssh (and sshpass) */ NMSshPluginPrivate *priv = NM_SSH_PLUGIN_GET_PRIVATE (plugin); char *sudo = NULL; const char *ssh_binary = NULL, *sshpass_binary = NULL, *tmp = NULL; const char *remote = NULL, *port = NULL, *mtu = NULL, *ssh_agent_socket = NULL, *auth_type = NULL; char *known_hosts_file = NULL; char *tmp_arg = NULL; char *ip_addr_cmd_4 = NULL, *ip_addr_cmd_6 = NULL, *ip_link_cmd = NULL; char *envp[16]; long int tmp_int; GPtrArray *args; GSource *ssh_watch; GPid pid; gint ssh_stdin_fd, ssh_stderr_fd; int sshpass_pipe[2]; const gchar *password = NULL; gchar **bind_addresses = NULL; gchar **bind_address = NULL; /* Find ssh */ ssh_binary = nm_find_ssh (); if (!ssh_binary) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Could not find the ssh binary.")); return FALSE; } /* Allocate io_data structure */ priv->io_data = g_malloc0 (sizeof (NMSshPluginIOData)); priv->io_data->network_config_sent = FALSE; args = g_ptr_array_new (); /* Get auth_type from s_vpn */ auth_type = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_AUTH_TYPE); tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NO_REMOTE_COMMAND); if (tmp) { priv->io_data->no_remote_command = TRUE; } else { priv->io_data->no_remote_command = FALSE; } tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NO_TUNNEL_INTERFACE); if (tmp) { priv->io_data->no_tunnel = TRUE; priv->io_data->no_tunnel_interface = g_strdup (tmp); priv->io_data->no_remote_command = TRUE; } else { priv->io_data->no_tunnel = FALSE; priv->io_data->no_tunnel_interface = NULL; } /* Handle different behaviour for different auth types */ envp[0] = NULL; if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { /* If the user wishes to supply a password */ /* Find sshpass, we'll use it to wrap ssh and provide a password from * the command line */ sshpass_binary = nm_find_sshpass (); if (!sshpass_binary) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Could not find the sshpass binary.")); return FALSE; } /* Use sshpass binary */ add_ssh_arg (args, sshpass_binary); /* Get password */ password = nm_setting_vpn_get_secret (s_vpn, NM_SSH_KEY_PASSWORD); if (password && strlen(password)) { if (pipe(sshpass_pipe)) { g_set_error ( error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Failed creating pipe.")); free_ssh_args (args); return FALSE; } tmp = (gpointer) g_strdup_printf ("-d%d", sshpass_pipe[0]); add_ssh_arg (args, tmp); g_free((gpointer) tmp); } else { /* No password specified? Exit! */ g_set_error ( error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("No password specified.")); free_ssh_args (args); return FALSE; } /* And add the ssh_binary */ add_ssh_arg (args, ssh_binary); /* Prompt just once for password, it's enough */ add_ssh_arg (args, "-o"); add_ssh_arg (args, "NumberOfPasswordPrompts=1"); add_ssh_arg (args, "-o"); add_ssh_arg (args, "PreferredAuthentications=password"); } else { /* Add the ssh binary, as we're not going to use sshpass */ add_ssh_arg (args, ssh_binary); /* No password prompts, only key authentication if user specifies * key of ssh agent auth */ add_ssh_arg (args, "-o"); add_ssh_arg (args, "NumberOfPasswordPrompts=0"); add_ssh_arg (args, "-o"); add_ssh_arg (args, "PreferredAuthentications=publickey"); /* Passing a id_dsa/id_rsa key as an argument to ssh */ if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) { tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_KEY_FILE); if (tmp && strlen (tmp)) { /* Specify key file */ add_ssh_arg (args, "-i"); add_ssh_arg (args, tmp); } else { /* No key specified? Exit! */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Key authentication selected, but no key file specified.")); free_ssh_args (args); return FALSE; } } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) { /* Last but not least, the original nm-ssh default behaviour * which is the sanest of all - SSH_AGENT socket */ /* FIXME add all the ssh agent logic here */ /* Set SSH_AUTH_SOCK from ssh-agent * Passes as a secret key from the user's context * using auth-dialog */ ssh_agent_socket = nm_setting_vpn_get_secret (s_vpn, NM_SSH_KEY_SSH_AUTH_SOCK); if (ssh_agent_socket && strlen(ssh_agent_socket)) { envp[0] = (gpointer) g_strdup_printf ("%s=%s", SSH_AUTH_SOCK, ssh_agent_socket); } else { /* No SSH_AUTH_SOCK passed from user context */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required SSH_AUTH_SOCK.")); free_ssh_args (args); return FALSE; } envp[1] = NULL; if (debug) g_message ("Using ssh-agent socket: '%s'", envp[0]); } else { g_set_error ( error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Unknown authentication type: %s."), auth_type); free_ssh_args (args); return FALSE; } } /* Set verbose mode, we'll parse the arguments */ add_ssh_arg (args, "-v"); /* FIXME if not using SSH_AUTH_SOCK we can't know where is known_hosts */ /* We have SSH_AUTH_SOCK, we'll assume it's owned by the user * that we should use its .ssh/known_hosts file * So we'll probe the user owning SSH_AUTH_SOCK and then use * -o UserKnownHostsFile=$HOME/.ssh/known_hosts */ known_hosts_file = get_known_hosts_file(default_username, ssh_agent_socket); if (!(known_hosts_file && strlen (known_hosts_file))) { g_warning("Using root's .ssh/known_hosts"); } else { if (debug) g_message("Using known_hosts at: '%s'", known_hosts_file); add_ssh_arg (args, "-o"); add_ssh_arg (args, g_strdup_printf("UserKnownHostsFile=%s", known_hosts_file) ); g_free(known_hosts_file); } add_ssh_arg (args, "-o"); add_ssh_arg (args, "ServerAliveInterval=10"); add_ssh_arg (args, "-o"); add_ssh_arg (args, "TCPKeepAlive=yes"); /* Device, either tun or tap */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_TAP_DEV); if (priv->io_data->no_tunnel) { g_message ("Will not establish tunnel (will use dummy interface)"); } else { add_ssh_arg (args, "-o"); if (tmp && IS_YES(tmp)) { add_ssh_arg (args, "Tunnel=ethernet"); g_strlcpy ((gchar *) &priv->io_data->dev_type, "tap", 4); } else { add_ssh_arg (args, "Tunnel=point-to-point"); g_strlcpy ((gchar *) &priv->io_data->dev_type, "tun", 4); } /* Get a local tun/tap */ priv->io_data->local_dev_number = nm_ssh_get_free_device(priv->io_data->dev_type); if (priv->io_data->local_dev_number == -1) { g_warning("Could not assign a free tun/tap device."); nm_vpn_service_plugin_failure (NM_VPN_SERVICE_PLUGIN (plugin), NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED); return FALSE; } } /* Device, either tun or tap */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_SUDO); if (tmp && IS_YES(tmp)) { g_message ("Using '%s' as prefix for remote commands", SUDO); sudo = g_strdup_printf ("%s ", SUDO); } else { sudo = g_strdup (""); } /* Remote */ remote = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE); if (!(remote && strlen (remote))) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Please set remote address.")); free_ssh_args (args); return FALSE; } else { priv->io_data->remote_gw = g_strdup(remote); } /* Port */ port = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_PORT); add_ssh_arg (args, "-o"); if (port && strlen (port)) { /* Range validation is done in dialog... */ if (!get_ssh_arg_int (port, &tmp_int)) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Invalid port number '%s'."), port); free_ssh_args (args); return FALSE; } add_ssh_arg (args, (gpointer) g_strdup_printf ("Port=%d", (guint32) tmp_int)); } else { /* Default to SSH port 22 */ add_ssh_arg (args, (gpointer) g_strdup_printf("Port=%d", (guint32) NM_SSH_DEFAULT_PORT)); } /* TUN MTU size */ mtu = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_TUNNEL_MTU); if (mtu && strlen (mtu)) { /* Range validation is done in dialog... */ if (!get_ssh_arg_int (mtu, &tmp_int)) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Invalid TUN MTU size '%s'."), mtu); free_ssh_args (args); return FALSE; } priv->io_data->mtu = tmp_int; } else { /* Default MTU of 1500 */ priv->io_data->mtu = NM_SSH_DEFAULT_MTU; } /* Remote device */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_DEV); if (tmp && strlen (tmp)) { /* Range validation is done in dialog... */ if (!get_ssh_arg_int (tmp, &tmp_int)) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Invalid TUN/TAP device number '%s'."), tmp); free_ssh_args (args); return FALSE; } priv->io_data->remote_dev_number = (gint) tmp_int; } else { /* Use tun100/tap100 by default */ priv->io_data->remote_dev_number = NM_SSH_DEFAULT_REMOTE_DEV; } /* Remote IP */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP); if (!tmp) { /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required remote IP address.")); free_ssh_args (args); return FALSE; } priv->io_data->remote_addr = g_strdup(tmp); /* Local IP */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP); if (!tmp) { /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required local IP address.")); free_ssh_args (args); return FALSE; } priv->io_data->local_addr = g_strdup(tmp); /* Netmask */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK); if (!tmp) { priv->io_data->netmask = g_strdup(tmp); /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required netmask.")); free_ssh_args (args); return FALSE; } priv->io_data->netmask = g_strdup(tmp); /* IPv6 enabled? */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_IP_6); if (tmp && IS_YES(tmp)) { /* IPv6 is enabled */ priv->io_data->ipv6 = TRUE; /* Remote IP IPv6 */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_IP_6); if (!tmp) { /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required IPv6 remote IP address.")); free_ssh_args (args); return FALSE; } priv->io_data->remote_addr_6 = g_strdup(tmp); /* Local IP IPv6 */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_IP_6); if (!tmp) { /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required IPv6 local IP address.")); free_ssh_args (args); return FALSE; } priv->io_data->local_addr_6 = g_strdup(tmp); /* Prefix IPv6 */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_NETMASK_6); if (!tmp) { /* Insufficient data (FIXME: this should really be detected when validating the properties */ g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Missing required IPv6 netmask.")); free_ssh_args (args); return FALSE; } priv->io_data->netmask_6 = g_strdup(tmp); } else { /* Set the values so they are not NULL */ priv->io_data->ipv6 = FALSE; priv->io_data->remote_addr_6 = g_strdup(""); priv->io_data->local_addr_6 = g_strdup(""); priv->io_data->netmask_6 = g_strdup(""); } if (priv->io_data->no_tunnel) { /* Nothing to do here... */ } else { /* The -w option, provide a remote and local tun/tap device */ tmp_arg = (gpointer) g_strdup_printf ("TunnelDevice=%d:%d", priv->io_data->local_dev_number, priv->io_data->remote_dev_number); add_ssh_arg (args, "-o"); add_ssh_arg (args, tmp_arg); g_free(tmp_arg); } /* Remote username. Should usually be root */ tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_USERNAME); if (tmp && strlen (tmp)) { priv->io_data->username = g_strdup (tmp); } else { /* Add default username - root */ priv->io_data->username = g_strdup (NM_SSH_DEFAULT_REMOTE_USERNAME); } tmp_arg = g_strdup_printf ("User=%s", priv->io_data->username); add_ssh_arg (args, "-o"); add_ssh_arg (args, tmp_arg); g_free(tmp_arg); tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_SOCKS_BIND_ADDRESS); if (tmp && strlen (tmp)) { priv->io_data->socks_bind_address = g_strdup (tmp); } else { priv->io_data->socks_bind_address = NULL; } if (priv->io_data->socks_bind_address) { bind_addresses = g_strsplit_set (priv->io_data->socks_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) { tmp_arg = g_strdup_printf ("DynamicForward=%s", *bind_address); add_ssh_arg (args, "-o"); add_ssh_arg (args, tmp_arg); g_free(tmp_arg); } } if (bind_addresses) g_strfreev (bind_addresses); } tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_LOCAL_BIND_ADDRESS); if (tmp && strlen (tmp)) { priv->io_data->local_bind_address = g_strdup (tmp); } else { priv->io_data->local_bind_address = NULL; } if (priv->io_data->local_bind_address) { bind_addresses = g_strsplit_set (priv->io_data->local_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) { add_ssh_arg (args, "-L"); add_ssh_arg (args, *bind_address); } } if (bind_addresses) g_strfreev (bind_addresses); } tmp = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_REMOTE_BIND_ADDRESS); if (tmp && strlen (tmp)) { priv->io_data->remote_bind_address = g_strdup (tmp); } else { priv->io_data->remote_bind_address = NULL; } if (priv->io_data->remote_bind_address) { bind_addresses = g_strsplit_set (priv->io_data->remote_bind_address, " ", 0); for (bind_address = bind_addresses; *bind_address; bind_address++) { if (strlen (*bind_address)) { add_ssh_arg (args, "-R"); add_ssh_arg (args, *bind_address); } } if (bind_addresses) g_strfreev (bind_addresses); } /* Connect to remote */ tmp_arg = g_strdup_printf ("HostName=%s", priv->io_data->remote_gw); add_ssh_arg (args, "-o"); add_ssh_arg (args, tmp_arg); g_free(tmp_arg); /* This is supposedly the hostname parameter, but we can pass anything * as we passed '-o Hostname=' before that */ add_ssh_arg (args, "NetworkManager-ssh"); /* Command line to run on remote machine */ ip_link_cmd = (gpointer) g_strdup_printf ( "%s%s link set mtu %d dev %s%d up", sudo, IPROUTE2, priv->io_data->mtu, priv->io_data->dev_type, priv->io_data->remote_dev_number); /* Command line to run on remote machine */ ip_addr_cmd_4 = (gpointer) g_strdup_printf ( "%s%s addr add %s/%s peer %s/%s dev %s%d", sudo, IPROUTE2, priv->io_data->remote_addr, priv->io_data->netmask, priv->io_data->local_addr, priv->io_data->netmask, priv->io_data->dev_type, priv->io_data->remote_dev_number); /* IPv6 ifconfig command to run on remote machine */ if (priv->io_data->ipv6) { ip_addr_cmd_6 = (gpointer) g_strdup_printf ( "%s%s addr add %s/%s peer %s/%s dev %s%d", sudo, IPROUTE2, priv->io_data->remote_addr_6, priv->io_data->netmask_6, priv->io_data->local_addr_6, priv->io_data->netmask_6, priv->io_data->dev_type, priv->io_data->remote_dev_number); } if (priv->io_data->no_tunnel || priv->io_data->no_remote_command) { g_message ("Using -N - no remote command set, or SOCKS mode set"); add_ssh_arg (args, "-N"); } else { /* Concatenate ip_addr_cmd_4, ip_addr_cmd_6 and ip_link_cmd to one command */ if (ip_addr_cmd_6) { tmp_arg = g_strconcat(ip_addr_cmd_4, "; ", ip_addr_cmd_6, "; ", ip_link_cmd, NULL); g_free(ip_addr_cmd_6); } else { tmp_arg = g_strconcat(ip_addr_cmd_4, "; ", ip_link_cmd, NULL); } add_ssh_arg (args, tmp_arg); g_free(ip_addr_cmd_4); g_free(ip_link_cmd); g_free(tmp_arg); } /* Wrap it up */ g_ptr_array_add (args, NULL); /* Spawn with pipes */ if (!g_spawn_async_with_pipes (NULL, (char **) args->pdata, envp, G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_LEAVE_DESCRIPTORS_OPEN, NULL, NULL, &pid, &ssh_stdin_fd, NULL, &ssh_stderr_fd, error)) { free_ssh_args (args); return FALSE; } free_ssh_args (args); /* Write password to fd, so sshpass can pick it up */ if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { tmp_arg = g_strdup_printf ("%s\n", password); if (write(sshpass_pipe[1], tmp_arg, strlen(tmp_arg)) != strlen(tmp_arg)) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, "%s", _("Could not pass password to sshpass.")); free_ssh_args (args); g_free(tmp_arg); return FALSE; } g_free(tmp_arg); close(sshpass_pipe[0]); close(sshpass_pipe[1]); } g_free (sudo); g_message ("ssh started with pid %d", pid); /* Add a watch for the SSH stdin and stderr */ priv->io_data->ssh_stdin_channel = g_io_channel_unix_new (ssh_stdin_fd); priv->io_data->ssh_stderr_channel = g_io_channel_unix_new (ssh_stderr_fd); /* Set io watches on stderr */ /* stderr */ priv->io_data->socket_channel_stderr_eventid = g_io_add_watch ( priv->io_data->ssh_stderr_channel, G_IO_IN, nm_ssh_stderr_cb, plugin); /* Set encoding to NULL */ g_io_channel_set_encoding (priv->io_data->ssh_stderr_channel, NULL, NULL); /* Add a watch for the process */ priv->pid = pid; ssh_watch = g_child_watch_source_new (pid); g_source_set_callback (ssh_watch, (GSourceFunc) ssh_watch_cb, plugin, NULL); g_source_attach (ssh_watch, NULL); g_source_unref (ssh_watch); return TRUE; } static gboolean validate_ssh_agent_socket(const char* ssh_agent_socket, GError **error) { GFile *gfile = NULL; GFileInfo *info = NULL; if (debug) g_message ("Inspecting ssh agent socket at: '%s'\n", ssh_agent_socket); if (!g_file_test (ssh_agent_socket, G_FILE_TEST_EXISTS)) return FALSE; gfile = g_file_new_for_path(ssh_agent_socket); if (!gfile) return FALSE; info = g_file_query_info (gfile, "standard::*,owner::user", 0, NULL, error); if (info && G_FILE_TYPE_SPECIAL == g_file_info_get_file_type (info)) { g_message ("Found ssh agent socket at: '%s'\n", ssh_agent_socket); return TRUE; } return FALSE; } static gboolean real_connect (NMVpnServicePlugin *plugin, NMConnection *connection, GError **error) { NMSettingVpn *s_vpn; const char *user_name; s_vpn = NM_SETTING_VPN (nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN)); if (!s_vpn) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_INVALID_CONNECTION, "%s", _("Could not process the request because the VPN connection settings were invalid.")); return FALSE; } user_name = nm_setting_vpn_get_user_name (s_vpn); /* Validate the properties */ if (!nm_ssh_properties_validate (s_vpn, error)) return FALSE; /* Finally, try to start SSH */ if (!nm_ssh_start_ssh_binary (NM_SSH_PLUGIN (plugin), s_vpn, user_name, error)) return FALSE; return TRUE; } static gboolean real_need_secrets (NMVpnServicePlugin *plugin, NMConnection *connection, const char **setting_name, GError **error) { NMSettingVpn *s_vpn; gboolean need_secrets = FALSE; const char *auth_type = NULL; NMSettingSecretFlags flags = NM_SETTING_SECRET_FLAG_NONE; g_return_val_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin), FALSE); g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE); if (debug) { g_message ("%s: connection -------------------------------------", __func__); nm_connection_dump (connection); } s_vpn = NM_SETTING_VPN (nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN)); if (!s_vpn) { g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_INVALID_CONNECTION, "%s", _("Could not process the request because the VPN connection settings were invalid.")); return FALSE; } /* Get auth_type from s_vpn */ auth_type = nm_setting_vpn_get_data_item (s_vpn, NM_SSH_KEY_AUTH_TYPE); if (!auth_type) auth_type = NM_SSH_AUTH_TYPE_SSH_AGENT; /* Let's see if we need some passwords... */ if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_PASSWORD, strlen(NM_SSH_AUTH_TYPE_PASSWORD))) { /* Password auth */ need_secrets = TRUE; nm_setting_get_secret_flags (NM_SETTING (s_vpn), NM_SSH_KEY_PASSWORD, &flags, NULL); /* If the password is saved and we can retrieve it, it's not required */ if (nm_setting_vpn_get_secret (NM_SETTING_VPN (s_vpn), NM_SSH_KEY_PASSWORD)) { need_secrets = FALSE; } } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_KEY, strlen(NM_SSH_AUTH_TYPE_KEY))) { /* FIXME check if key file needs a password */ need_secrets = FALSE; } else if (!strncmp (auth_type, NM_SSH_AUTH_TYPE_SSH_AGENT, strlen(NM_SSH_AUTH_TYPE_SSH_AGENT))) { /* If we don't have our SSH_AUTH_SOCK set, we need it * SSH_AUTH_SOCK is passed as a secret only because it has to come * from a user's context and this plugin will run as root... */ const gchar *ssh_agent_socket = NULL; ssh_agent_socket = nm_setting_vpn_get_secret (s_vpn, NM_SSH_KEY_SSH_AUTH_SOCK); if (ssh_agent_socket && validate_ssh_agent_socket (ssh_agent_socket, error)) { need_secrets = FALSE; } else { need_secrets = TRUE; } } else { g_set_error ( error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS, _("Unknown authentication type: %s."), auth_type); } if (need_secrets) *setting_name = NM_SETTING_VPN_SETTING_NAME; return need_secrets; } static gboolean ensure_killed (gpointer data) { int pid = GPOINTER_TO_INT (data); if (kill (pid, 0) == 0) kill (pid, SIGKILL); return FALSE; } static gboolean real_disconnect (NMVpnServicePlugin *plugin, GError **err) { NMSshPluginPrivate *priv = NM_SSH_PLUGIN_GET_PRIVATE (plugin); if (priv->pid) { if (kill (priv->pid, SIGTERM) == 0) g_timeout_add (2000, ensure_killed, GINT_TO_POINTER (priv->pid)); else kill (priv->pid, SIGKILL); g_message ("Terminated ssh daemon with PID %d.", priv->pid); priv->pid = 0; } return TRUE; } static void nm_ssh_plugin_init (NMSshPlugin *plugin) { } static void nm_ssh_plugin_class_init (NMSshPluginClass *plugin_class) { GObjectClass *object_class = G_OBJECT_CLASS (plugin_class); NMVpnServicePluginClass *parent_class = NM_VPN_SERVICE_PLUGIN_CLASS (plugin_class); g_type_class_add_private (object_class, sizeof (NMSshPluginPrivate)); /* virtual methods */ parent_class->connect = real_connect; parent_class->need_secrets = real_need_secrets; parent_class->disconnect = real_disconnect; } static void plugin_state_changed (NMSshPlugin *plugin, NMVpnServiceState state, gpointer user_data) { switch (state) { case NM_VPN_SERVICE_STATE_UNKNOWN: case NM_VPN_SERVICE_STATE_INIT: case NM_VPN_SERVICE_STATE_SHUTDOWN: case NM_VPN_SERVICE_STATE_STOPPING: case NM_VPN_SERVICE_STATE_STOPPED: default: break; } } NMSshPlugin * nm_ssh_plugin_new (const char *bus_name) { NMSshPlugin *plugin; GError *error = NULL; plugin = (NMSshPlugin *) g_initable_new (NM_TYPE_SSH_PLUGIN, NULL, &error, NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME, bus_name, NULL); if (plugin) { g_signal_connect (G_OBJECT (plugin), "state-changed", G_CALLBACK (plugin_state_changed), NULL); } else { g_warning ("Failed to initialize a plugin instance: %s", error->message); g_error_free (error); } return plugin; } static void signal_handler (int signo) { if (signo == SIGINT || signo == SIGTERM) g_main_loop_quit (loop); } static void setup_signals (void) { struct sigaction action; sigset_t mask; sigemptyset (&mask); action.sa_handler = signal_handler; action.sa_mask = mask; action.sa_flags = 0; sigaction (SIGTERM, &action, NULL); sigaction (SIGINT, &action, NULL); } static void quit_mainloop (NMVpnServicePlugin *plugin, gpointer user_data) { g_main_loop_quit ((GMainLoop *) user_data); } int main (int argc, char *argv[]) { NMSshPlugin *plugin; gboolean persist = FALSE; GOptionContext *opt_ctx = NULL; gchar *bus_name = NM_DBUS_SERVICE_SSH; GOptionEntry options[] = { { "persist", 0, 0, G_OPTION_ARG_NONE, &persist, N_("Don't quit when VPN connection terminates"), NULL }, { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable verbose debug logging (may expose passwords)"), NULL }, { "bus-name", 0, 0, G_OPTION_ARG_STRING, &bus_name, N_("D-Bus name to use for this instance"), NULL }, {NULL} }; #if !GLIB_CHECK_VERSION (2, 35, 3) g_type_init (); #endif /* locale will be set according to environment LC_* variables */ setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, NM_SSH_LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); /* Parse options */ opt_ctx = g_option_context_new (bus_name); g_option_context_set_translation_domain (opt_ctx, GETTEXT_PACKAGE); g_option_context_set_ignore_unknown_options (opt_ctx, FALSE); g_option_context_set_help_enabled (opt_ctx, TRUE); g_option_context_add_main_entries (opt_ctx, options, NULL); g_option_context_set_summary (opt_ctx, _("nm-ssh-service provides integrated SSH capability to NetworkManager.")); g_option_context_parse (opt_ctx, &argc, &argv, NULL); g_option_context_free (opt_ctx); if (getenv ("SSH_DEBUG")) debug = TRUE; if (debug) g_message ("nm-ssh-service (version " DIST_VERSION ") starting..."); if (system ("/sbin/modprobe tun") == -1) exit (EXIT_FAILURE); if (system ("/sbin/modprobe dummy numdummies=8") == -1) exit (EXIT_FAILURE); plugin = nm_ssh_plugin_new (bus_name); if (!plugin) exit (EXIT_FAILURE); loop = g_main_loop_new (NULL, FALSE); if (!persist) g_signal_connect (plugin, "quit", G_CALLBACK (quit_mainloop), loop); setup_signals (); g_main_loop_run (loop); g_main_loop_unref (loop); g_object_unref (plugin); exit (EXIT_SUCCESS); } danfruehauf-NetworkManager-ssh-f65d65d/src/nm-ssh-service.h000066400000000000000000000036041507335542500237630ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* nm-ssh-service - ssh integration with NetworkManager * * Copyright (C) 2013 Dan Fruehauf * * 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., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ #ifndef NM_SSH_SERVICE_H #define NM_SSH_SERVICE_H #include #include #include #include "nm-service-defines.h" #define NM_TYPE_SSH_PLUGIN (nm_ssh_plugin_get_type ()) #define NM_SSH_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SSH_PLUGIN, NMSshPlugin)) #define NM_SSH_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SSH_PLUGIN, NMSshPluginClass)) #define NM_IS_SSH_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SSH_PLUGIN)) #define NM_IS_SSH_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), NM_TYPE_SSH_PLUGIN)) #define NM_SSH_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SSH_PLUGIN, NMSshPluginClass)) typedef struct { NMVpnServicePlugin parent; } NMSshPlugin; typedef struct { NMVpnServicePluginClass parent; } NMSshPluginClass; GType nm_ssh_plugin_get_type (void); NMSshPlugin *nm_ssh_plugin_new (const char *bus_name); #endif /* NM_SSH_SERVICE_H */ danfruehauf-NetworkManager-ssh-f65d65d/test/000077500000000000000000000000001507335542500211345ustar00rootroot00000000000000danfruehauf-NetworkManager-ssh-f65d65d/test/Vagrantfile000066400000000000000000000010721507335542500233210ustar00rootroot00000000000000# -*- mode: ruby -*- # vi: set ft=ruby : ssh_key = `cat $HOME/.ssh/id_rsa.pub` Vagrant.configure("2") do |config| config.vm.hostname = "nm-ssh-server" config.vm.box = "CentOS-7.1-x86_64" config.vm.box_url = "https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box" config.vm.network :private_network, ip: "33.33.33.10" config.vm.provision "shell", path: "nm-ssh-server.sh" config.vm.provision "shell", inline: "sudo mkdir -p /root/.ssh && echo '#{ssh_key}' | sudo tee /root/.ssh/authorized_keys" end danfruehauf-NetworkManager-ssh-f65d65d/test/nm-ssh-server.sh000077500000000000000000000015161507335542500242070ustar00rootroot00000000000000#!/bin/bash # return the external interface _get_external_interface() { ip route get 1.1.1.1 | head -1 | cut -d' ' -f5 } # install ifconfig install_ifconfig() { yum install -y net-tools } # permit tunnel on server permit_tunnel() { echo 'PermitTunnel=yes' >> /etc/ssh/sshd_config service sshd reload } # enable ip_forward kernel_forwarding() { echo 1 > /proc/sys/net/ipv4/ip_forward } # firewall rules firewall_rules() { local device for device in tun tap; do iptables -I FORWARD -i $device+ -j ACCEPT iptables -I FORWARD -o $device+ -j ACCEPT iptables -I INPUT -i $device+ -j ACCEPT done local external_interface=`_get_external_interface` iptables -t nat -I POSTROUTING -o $external_interface -j MASQUERADE } # main main() { install_ifconfig && \ permit_tunnel && \ kernel_forwarding && \ firewall_rules } main "$@"